加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
2 |5 H3 C- w. S! ~
& j- @) V5 f6 W; u  V1 p
+ z8 g5 S. c9 R! z9 R' 修改文件后缀名.vbs
" b4 P7 M! T6 X) j' V1 u; y'4 ^6 }/ J1 }3 |& H6 Q(欢迎访问老王论坛:laowang.vip)
' 功能说明:' g: ~! |( J7 D7 f(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
% {/ L- U; h- p1 h8 L' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。5 D; K+ _8 [6 z5 ?- u(欢迎访问老王论坛:laowang.vip)
'
3 A! }! @3 f3 x' 使用说明:
1 n; j6 x" \7 W' ^' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
4 N" X" h+ m! N6 L$ T. ?* o* u' 2. 双击运行脚本或通过命令行运行。
6 ^. H. i0 O' ^% s0 X8 M3 g' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
) W0 A. b0 o. w! R7 x+ U: c' E' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
" h7 b- B; n& ?3 d' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
- u. o1 V) a6 K5 q' 6. 完成后,脚本会弹出消息框提示操作已成功完成。! ]1 p. L; t9 E4 o; p$ X8 A, [4 }(欢迎访问老王论坛:laowang.vip)

$ h- j# z  e" B( v9 C2 COption Explicit
8 D7 E0 b/ e% T# p5 b7 E- i& I4 B' j; G: C(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径
& z) T' _& ~# p6 @0 D9 n0 w' ]Dim folderPath6 t  _0 d& r1 I9 C0 h1 E(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")* F2 k2 q- N8 D0 p: c(欢迎访问老王论坛:laowang.vip)

6 E% ^2 ~+ d0 n. C: n' 获取用户输入的新文件后缀名(不包含点)" w, b4 t. T6 B, ?% L) b6 {, z(欢迎访问老王论坛:laowang.vip)
Dim newExtension- A4 B, l" w$ z1 i, `, H% \- _(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
, ~( ~/ L; D, f/ M# v
% W0 L7 H6 G7 a* m' 如果用户取消了输入框,则退出脚本" `" o% F" y: X2 X6 k5 |(欢迎访问老王论坛:laowang.vip)
If newExtension = "" Then: g; {; X' ?7 {7 q- S' K* s(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"
% ?2 J; H0 R" p8 {  w0 z    WScript.Quit
$ ^% }  A) x( w" a# I" gEnd If
, d& Q8 y/ j& W* k* r
8 P$ P* e8 D6 e3 {2 s1 r0 i1 s' 确保新的后缀名不包含点(.)! M, s6 A) E/ D4 g; {0 d# h(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then! Q1 c2 M8 t3 N7 v; w(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"1 Q. ^* A( N6 K; V0 l0 l" s) W/ Z) z(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
8 z8 Z4 o5 ?# f" V9 }) ]' ?End If
* ^6 f. Q4 {, }0 X3 d* m) A% ?& ~3 v$ ]0 }  x1 [0 P2 {(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
; y3 Z. ?" j3 p( g- aDim fso, folder, subFolder
# I1 S( U. X2 W! }; U& oSet fso = CreateObject("Scripting.FileSystemObject")* ?) V4 A4 J) K, q(欢迎访问老王论坛:laowang.vip)
, c' ]  G8 R0 \' N6 C. _( w(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象& r: G2 A3 h2 h# \1 U+ T" d4 \5 Z(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)$ x* e7 @) I: W. m. I) t(欢迎访问老王论坛:laowang.vip)
- `& K% H. ~* X- i, U(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录. v* m# }9 F% O& d# s(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders: r9 R2 o% Q, _(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
- y8 K! u4 r. z: e* L. d; a9 i6 E7 u+ U- e7 S6 x. K. |(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
8 K8 v; B, f" I3 h! J. n! MDim modifySubFolders
, k' x! {6 u- k9 W, zIf hasSubFolders Then
, ^% w" v4 c0 U# s2 y    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")* D/ J$ V# k) Z3 f- Q  z8 R(欢迎访问老王论坛:laowang.vip)
End If
3 F6 @# t, o/ _9 P* \! ]
: P7 O8 }: k; d+ p3 o0 L( u; L8 Z7 u' 处理当前目录中的所有文件
& Y+ [- F' `) f& p" U, W; CCall ProcessFiles(folder, newExtension)
: ?! K% K  v9 W  L/ E/ |
, F+ z6 S" P" ^! A& U  `: V$ \5 E' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
7 S5 m) @+ f3 x" }If hasSubFolders And modifySubFolders = vbYes Then
; K! o$ a# t9 U1 N0 S    For Each subFolder In folder.SubFolders
3 T! o. ]) ?9 d7 G- X        Call ProcessFiles(subFolder, newExtension), Q1 Z. i) W! W(欢迎访问老王论坛:laowang.vip)
    Next
# r8 {( G8 I6 R# q$ J  mEnd If# g" L7 f( m% S3 I, X9 M$ q(欢迎访问老王论坛:laowang.vip)
4 W& j4 H. P0 [" q(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成. h8 t4 G! \9 d# j5 u3 o; }1 R- B(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
3 E  V- c+ F, g0 ]
# x, L: e0 d2 _2 B' 处理指定目录中的文件的子程序
9 @" `4 A) q% h' u" k$ J/ o& ^Sub ProcessFiles(targetFolder, newExtension)
/ i$ b4 r0 t" p- E3 r    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter2 B. j/ H5 p0 R. v7 @(欢迎访问老王论坛:laowang.vip)
    Dim nameDict
1 k# m/ D5 N/ W8 L; S
3 O4 N1 v# v, f* N( Y6 }; \    ' 创建一个字典对象,用于存储当前目录内的文件名
/ q# h$ _' s$ [! N, U8 Z    Set nameDict = CreateObject("Scripting.Dictionary")
! }0 _! @, _5 C( W% w
* ~/ y% |: D. D$ }    ' 遍历指定目录下的所有文件
# p3 [, _( L! g' J- p0 G    For Each file In targetFolder.Files+ y" q# i  \8 t$ ]% a4 D1 z  h(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件
8 ?8 W$ l- Z+ ^6 k" V; d- q0 V        If LCase(fso.GetExtensionName(file)) <> "vbs" Then- P+ M) b5 N0 E9 D* P(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名
, E' O$ ^. `3 n5 D0 q# V1 _            oldName = file.Name
) W0 n* }* J! f( S            baseName = fso.GetBaseName(file)
$ F3 P8 k$ a# g# o6 w            currentExtension = LCase(fso.GetExtensionName(file))+ o1 A2 ?6 `! p2 J4 f7 u1 {(欢迎访问老王论坛:laowang.vip)
4 e$ G5 v( a: t# o8 ?0 j2 a2 P(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名) q% O- H5 T- l(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then7 E9 Z2 N2 x& R9 v/ n* B' N(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名2 Y2 @) L9 c2 f7 u(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension1 H5 C( r" E; L, z: _4 W$ i(欢迎访问老王论坛:laowang.vip)

; P/ h+ I$ v  W6 o( f                ' 检查是否已有同名文件,如果有,则处理重名
9 p6 J# E9 j. W  a4 G                newFileName = newName0 u6 y. B" j' a2 E/ n( ^- _* i6 ~(欢迎访问老王论坛:laowang.vip)
                counter = 1
  a: @/ C3 P0 S6 N3 z# U3 q                ' 确保新的文件名唯一1 o3 t9 ?1 x" I(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)( H5 I3 f6 Q( J- x2 l(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension5 T+ T" W# M8 Q( o5 x4 D" V" t' D(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1
3 v! f$ S  r; k  J                Wend
1 L1 U. h" @% g! T
7 H1 c7 ]) g# ^1 h7 c+ d; i9 R* \                ' 记录新的文件名
' x1 Q: E/ V9 @& G5 y) M/ i4 g$ o                nameDict.Add newFileName, True* ?5 B) y- I0 c7 l7 N; E5 d7 _* r(欢迎访问老王论坛:laowang.vip)
" T( J2 Y9 [3 y  L! P! K(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件
% _8 c4 x) H6 t$ j, |! G. F+ M2 B                file.Name = newFileName8 n/ u3 p8 r/ D; Y6 ?(欢迎访问老王论坛:laowang.vip)
            End If
2 Y8 U; K6 N" `* k8 ?$ C        End If
1 i) M  [& d1 R3 N, x    Next& q: U& \( u5 L  D; p$ L- ^(欢迎访问老王论坛:laowang.vip)
End Sub/ t' h! E9 d+ t' `4 o+ K9 \(欢迎访问老王论坛:laowang.vip)

& j4 b6 X" Z% _% ?
( ?( S7 v) e" r3 L& u5 V4 h3 b. Z(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
5 y7 ^; X$ t: w; A+ J
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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