加载中...

地址发布 老王说明书 宣传中心
分享各类破解软件/游戏/工具,禁止黄色!
查看: 378|回复: 2
收起左侧

[破解软件] [转载搬运] 批量处理文件后缀名工具/代码 [1+3.91kb][百度盘]

[复制链接]
发表于 2024-9-4 22:38:08 | 显示全部楼层 |阅读模式
下载信息分类
下载方式: 百度盘
来源: 转载搬运
文件数量: 1
资源大小: 3.91kb
解压密码:
解压软件:

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?免费注册

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):3 w$ H, q8 {( |7 J5 _6 S" r(欢迎访问老王论坛:laowang.vip)
5 O8 @& [) l9 m(欢迎访问老王论坛:laowang.vip)
& x4 P% L: J* D0 h' `" r1 {4 P(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs' ^# Q9 r3 [4 [) z2 F(欢迎访问老王论坛:laowang.vip)
'
/ Q* e) _& K# I9 w' 功能说明:
8 e. x1 d$ q+ d! P% _' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 1 s( O7 S9 U5 R4 k' n3 k! D7 s. q* Z(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
/ p- V* l9 A; {( v, F+ w2 j'3 s8 v- v3 ]7 _+ ^( p# X) t* R(欢迎访问老王论坛:laowang.vip)
' 使用说明:
! c% g. ~* Q% ?' c- f: D' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。0 W7 M) M8 Y" B$ F9 j* o(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。' G" n7 M( I- ?* k3 j6 r% y" c(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
' U! X* Y) q2 Q' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。/ k  K  m4 I5 \. D7 N(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。2 ^7 ~8 f6 j$ u& ?(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
% a: `! a1 y* A9 j5 |
4 C) [4 V! c! u! ], _7 N0 zOption Explicit4 ?. K4 K9 J' }/ d# O# B, K(欢迎访问老王论坛:laowang.vip)

5 z- K3 A& g8 ^8 l3 j2 Q% b' 获取当前目录的路径! z1 @+ l* f5 o3 F4 y(欢迎访问老王论坛:laowang.vip)
Dim folderPath7 u3 F- X( T1 {' P8 L, w' B$ y(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")3 q9 V9 r( S/ e# i$ e' C(欢迎访问老王论坛:laowang.vip)

- b9 |7 L+ t4 n1 S2 E' 获取用户输入的新文件后缀名(不包含点)
. }- g; p- m) b: Y# I6 l# n8 HDim newExtension1 ^& b: C/ u7 _/ ?3 X' Y- V) O4 b(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
: J5 {) @$ I6 m8 y) b& I
* u" h% w! o% B- t9 i' 如果用户取消了输入框,则退出脚本
$ t' B! p! |. ~4 ?If newExtension = "" Then
3 R: J  S* f/ e, N    MsgBox "操作已取消。", vbInformation, "信息"* q" B2 Q3 R# r* z/ N(欢迎访问老王论坛:laowang.vip)
    WScript.Quit2 `* a. a/ t" p% I; R% `- w(欢迎访问老王论坛:laowang.vip)
End If
3 q# ~  a' ?. _! i& O1 {6 o% k0 G; ~& S5 ]' u) N, H(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)7 I8 k$ S4 X9 J8 p2 k& n- G; ](欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then
, d, f& t! b+ k2 F    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"9 e' |7 K/ \$ [/ `3 }(欢迎访问老王论坛:laowang.vip)
    WScript.Quit! H/ @6 l$ s6 B(欢迎访问老王论坛:laowang.vip)
End If
. k* ?% \1 s. O6 J5 F* {4 G" M! F9 V(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象  M) n& J4 X, h" d) e2 @( S8 E+ O, P+ g(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder
, v* R& l& L! Z5 WSet fso = CreateObject("Scripting.FileSystemObject")
% U* q- `; a/ I' D2 n! X/ A- y  l1 n+ V8 }(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象
( ^2 t0 F9 a3 Z, S) w9 ZSet folder = fso.GetFolder(folderPath), {. v* g1 }' v(欢迎访问老王论坛:laowang.vip)
8 x, d' E" [) [) }2 S2 `: P- B(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录/ S* A" S1 A, I1 D(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders
9 Q- S; x/ a/ p6 D* v: ?% ^0 |# PhasSubFolders = folder.SubFolders.Count > 0
8 t" f# I3 X  J& h6 G. F* Z. o2 D% d2 c2 N* ?# {& ?(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件$ N" v5 I+ N& B( r* L(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders4 d7 E$ F; J$ {. f4 S(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then
7 z, R! K) z- m9 o4 k- c% Z( u+ D    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
: e% y  r0 \3 @$ iEnd If
6 P7 {/ @- r; c4 g* d' ?
7 n1 f& L1 {3 r# e& B$ L' 处理当前目录中的所有文件
+ `% P3 v: k, X0 y* i/ SCall ProcessFiles(folder, newExtension)
9 `$ d: r/ d9 z! ~8 X, q) b: c1 w* b) H$ I; r" }(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件2 W! H0 W4 c- L* K0 c* Y(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then
: s' j' ~4 F* b- E    For Each subFolder In folder.SubFolders% _( ^" k/ R' w(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
; ~3 l7 ^7 {3 W* F- D  r. T+ k) f    Next
6 M! o7 p' {! m1 N! C# U0 z( [9 rEnd If! K8 J' K; Z% |9 `3 _! |% C  E(欢迎访问老王论坛:laowang.vip)

& r) q( y- E# Z/ o+ v- \! T' 提示用户操作完成
2 c- a( R% |4 [; {: q6 w5 `MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成", s/ G/ m) }2 y, `* I(欢迎访问老王论坛:laowang.vip)
; }9 I9 A) T4 Q5 R(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序
, b% t, l6 M* [3 tSub ProcessFiles(targetFolder, newExtension)
9 r+ X! h( ?) {0 U    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter* N  i5 i! m8 J  w3 J0 n(欢迎访问老王论坛:laowang.vip)
    Dim nameDict
( f0 m/ H9 R2 q0 _
8 C8 ^2 Y. m; h; _1 ?9 r    ' 创建一个字典对象,用于存储当前目录内的文件名# x/ l* U  n& q, u& d1 @! X7 t$ ^0 F5 U(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary"); x$ }- L0 s0 r3 n(欢迎访问老王论坛:laowang.vip)
& t) A# x2 F2 G5 w  A* X(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件
2 n2 Q1 E; E6 O1 R! _' U* O$ Q    For Each file In targetFolder.Files
8 {+ q" r; ?5 e        ' 跳过后缀名为 .vbs 的文件
; Z6 a) w# e. X, N: L        If LCase(fso.GetExtensionName(file)) <> "vbs" Then# B5 _, p  E# [0 |+ u' p(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名
8 X! d" s  C2 o$ H( A            oldName = file.Name
7 f/ z1 X9 \2 N' x5 D! y            baseName = fso.GetBaseName(file)
" i# I3 {% u8 R) {2 g* N# K            currentExtension = LCase(fso.GetExtensionName(file))* j  B4 N6 D$ {* K' ]. D(欢迎访问老王论坛:laowang.vip)

/ G/ ]/ ]# f( ^* H! O; X# P            ' 如果当前后缀名与新后缀名不同,则进行重命名
/ Q  p4 {- L; s            If currentExtension <> LCase(newExtension) Then
  c: ^! Z$ b7 W3 P3 J                ' 创建新的文件名
) x8 c- `1 R0 a( b  g7 u                newName = baseName & "." & newExtension" c) D; @! h! B! _(欢迎访问老王论坛:laowang.vip)
2 }- d* G8 O1 @4 T(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名
2 s7 s+ C  V. p& Q( I) ~                newFileName = newName
& a* j! O; v0 N5 v9 |7 X' q                counter = 1& C9 h+ U" ^1 h6 J& A. O6 ?(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一$ d5 K. S, ^7 P0 L  n3 L(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
- c8 z0 Y. K  V; Z6 \                    newFileName = baseName & "(" & counter & ")." & newExtension
8 m+ x$ B5 b7 u' ?                    counter = counter + 1
2 e* b" u2 M5 p                Wend
6 t2 [3 M6 L0 c2 ~' `6 k8 B4 O(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名( q% g  f0 j7 |" C) d(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True
$ m( k  x" A0 i! l: Q" a
9 c4 i9 L  h8 m+ \+ X( X5 u                ' 重命名文件9 M+ p! Q& n$ L  l4 P* c2 m5 |9 h(欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName" ~% i1 }; A7 {) O# u2 ]6 t(欢迎访问老王论坛:laowang.vip)
            End If
7 C$ v1 V* _: r- c7 m' R        End If6 S& m# }6 w% C6 O; F" M' e(欢迎访问老王论坛:laowang.vip)
    Next
8 w- v1 C/ q: v4 w, u- [! pEnd Sub
0 t* D1 O" j, F& V  G4 A- x& y/ x  p& X& b/ r2 R+ p* }: u(欢迎访问老王论坛:laowang.vip)

' E1 t  g. @7 r7 N9 H) ]4 b$ o' w2 H3 U2 ](欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

发表于 2024-9-5 23:00:55 | 显示全部楼层
建立一个文本文档 输入ren *.更改前的格式 *.更改后的格式 保存退出 更改TXT后缀为bat
回复 支持 反对

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
4 p# {/ C2 N0 M6 H' [
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册
点击进行验证

本版积分规则

我们不生产资源,只做资源的搬运工。

tags标签-春满四合院-AvGood-Archiver-小黑屋- |网站地图