加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):+ d( f4 C4 ^  ?) n% a(欢迎访问老王论坛:laowang.vip)

$ b# P1 k4 e2 E$ b! B# m
/ a1 ~$ g, ^5 L; E. \) l' 修改文件后缀名.vbs- Z- @2 a% e" X" Y$ ]! ^(欢迎访问老王论坛:laowang.vip)
'
& `: Q3 W3 x8 c2 a: U$ Z6 E; l: o# D2 W' 功能说明:$ _! N+ }+ U9 l1 A+ {(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 7 Q: P( o- i) \1 G7 a(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
; w; D9 N( J# v'
& [- D5 V4 G: @' 使用说明:
( A( v2 K. k1 Y3 G! }' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
% p' d$ \' e9 e" }5 n* X$ Q# T5 C0 j' 2. 双击运行脚本或通过命令行运行。( j+ h# w. N7 ?% j# z" F0 Q: X(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。/ P. ]1 o% A" X(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
1 c! e# T, _& J& F; @/ }- U' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。$ `) k8 A2 s0 W. \5 {% A3 u(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
: e% T2 I; |( X9 z( ^/ g% U* r! z4 E3 _% O+ L- w6 s6 c; J" p(欢迎访问老王论坛:laowang.vip)
Option Explicit% `. n/ ~0 H1 r2 V& A; K1 t(欢迎访问老王论坛:laowang.vip)
: L& _5 C1 G' }& `(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径
& C' O' f, t& E0 k6 V3 q; XDim folderPath2 v8 w' c* u0 n(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")% g7 A5 v. ^7 \) I7 f$ W(欢迎访问老王论坛:laowang.vip)
4 C6 L- D. I: z, L, R$ A$ m9 l(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)4 f/ A6 R; i6 N/ O1 c(欢迎访问老王论坛:laowang.vip)
Dim newExtension2 J- T3 k6 {: N% \5 `  R" Y(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名"); j+ |& o! [; E; P; v( s" i(欢迎访问老王论坛:laowang.vip)
( K7 [  T* W0 T1 n; ~: }; S(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本
0 V3 f0 q# d1 p0 T& L2 m8 ^1 GIf newExtension = "" Then0 z0 e# I; F# d  H! u  v3 @(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"8 ~7 m2 C# }' {% w& Y. {# @(欢迎访问老王论坛:laowang.vip)
    WScript.Quit$ N: K* Q  y& h; A  M(欢迎访问老王论坛:laowang.vip)
End If
- ^' ]& ]5 J. x6 I
4 M0 F3 w. X2 T% A4 ~' 确保新的后缀名不包含点(.)
' v& {- d1 S2 I9 B. {; c# AIf InStr(newExtension, ".") > 0 Then
) J4 c$ B- U  n    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
) t, Q0 s6 v/ K# ?. ^5 L7 q* E    WScript.Quit% C) u' M+ l4 u(欢迎访问老王论坛:laowang.vip)
End If8 I" N0 M: k' P5 Q- w" V/ M/ {(欢迎访问老王论坛:laowang.vip)
( M4 Y) o! [7 }! ~: ^" B- R. z  D+ p- i(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象" |+ f5 q3 O+ f; Z' c(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder
! W# ?& H1 G6 P3 X5 w& P; u3 o; k! aSet fso = CreateObject("Scripting.FileSystemObject"). ^+ U' @7 P- m0 H  F* X(欢迎访问老王论坛:laowang.vip)

+ s" I9 z, t! c5 j$ H$ E' 获取当前目录的 Folder 对象/ ^; h) E5 n% V* {& Y+ e/ L(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath): g% p/ F2 S' u% k- n(欢迎访问老王论坛:laowang.vip)

0 K0 u! a4 M$ b7 r& ^0 n' 检查当前目录是否包含子目录0 T4 B4 ^  i) E  I(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders
! E; \7 x  |# u$ n% WhasSubFolders = folder.SubFolders.Count > 0
" ?! ^* |# s1 [4 j3 a0 C: }) k+ d! ]$ v* ?(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
) k7 ^2 d5 s0 B' R5 BDim modifySubFolders
3 ]8 D) P2 ?6 J: @( a0 O0 PIf hasSubFolders Then
3 R" Z: h; N+ Z5 p; x    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")% Q: ^" L. N% H+ e( I. p(欢迎访问老王论坛:laowang.vip)
End If9 z) M  P7 H# f/ z* \(欢迎访问老王论坛:laowang.vip)
7 F  ^: e1 c& D, q. l(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件: a  n4 |( o0 a/ o) V(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)
9 ~6 }; b- D* }" t
: M) n# h6 u/ Z/ ~  Q' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
& ?% N5 _( l, J- o, ^# B! G. S; J5 wIf hasSubFolders And modifySubFolders = vbYes Then# t3 d4 O4 L/ u$ p7 x( o(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders; P- s3 V: d; ~' H* e) w% \) C9 S7 |(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)6 ^+ F4 {- D7 Z0 H. `8 T(欢迎访问老王论坛:laowang.vip)
    Next
; s* d6 Z+ C: }8 V4 GEnd If
) O" ?# m! H9 S& f. E! ^* \. b) R4 m% p8 K" ?( h3 n(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成1 L) p6 F& H$ M: K" @# o! ~' y(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
+ O. \3 j. C: P4 q- s* k4 E2 f6 q
( w* e) D+ z8 w1 |' T6 g# n' 处理指定目录中的文件的子程序+ m: e, v. S: h(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)2 F3 E9 z; e- X4 c4 K" t8 j(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter0 {7 E- m& a' Z. Z: j5 o(欢迎访问老王论坛:laowang.vip)
    Dim nameDict
& x' a* A1 p. ]
* f# s" d1 @! W+ ?; a) K5 \    ' 创建一个字典对象,用于存储当前目录内的文件名
. V' x4 l8 x; Y6 w! x    Set nameDict = CreateObject("Scripting.Dictionary")# n  ?6 x+ \* Q4 D3 I4 [/ g. a(欢迎访问老王论坛:laowang.vip)
" o1 W; c9 W0 a8 W(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件
' y/ M$ z* d+ k    For Each file In targetFolder.Files# s6 E* j* V7 X4 e(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件- ~( f+ F  S( X) {9 A) S(欢迎访问老王论坛:laowang.vip)
        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
/ h% V6 w; @5 p; Y/ A* ^/ ^* {            ' 获取文件的旧名称、基础名称和当前后缀名% Q9 P0 @$ r# |8 X6 f(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name
# l* X& P6 b  f  _* u3 L            baseName = fso.GetBaseName(file)% p+ |; {4 x  c2 y  y6 ]! w! {(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))) k; |; B" R5 |' a3 F/ ]  T; R' E(欢迎访问老王论坛:laowang.vip)

2 Q8 M% ]$ D. i3 a: Z. w0 z7 \- u9 y            ' 如果当前后缀名与新后缀名不同,则进行重命名
) @# M6 d; j0 T% \; I; m            If currentExtension <> LCase(newExtension) Then
0 k4 D  m; t5 s- G& v1 n                ' 创建新的文件名) B- N: r1 t* B(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension) H. T( ^( K$ n& o; m9 i# U# g7 r  X(欢迎访问老王论坛:laowang.vip)

1 }. B* b& {& p) }$ F                ' 检查是否已有同名文件,如果有,则处理重名
2 [  w: [0 m  ~6 I# k                newFileName = newName3 e* f  K8 n" y  x1 ~(欢迎访问老王论坛:laowang.vip)
                counter = 1: Y: m1 ?; o2 a- f- a/ j(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一0 M* m. ^  Q2 Q& f( h( q(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
: y0 m% p0 G* s6 u                    newFileName = baseName & "(" & counter & ")." & newExtension  u! t9 Z  A# D6 f% [# K(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1
1 x1 z- E* m$ H- L; X                Wend
: `7 B# Q: j0 c  a8 S$ {# `1 K$ k7 Y$ t# v1 d(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名
1 Q# z2 t  E. ]                nameDict.Add newFileName, True
6 o5 m5 {! j5 {4 L! ~# y/ \4 L
4 s& i2 t  Q/ n. ~# }2 L( H: \' u; g# V                ' 重命名文件
7 f  X" w5 u* a5 C* q. a                file.Name = newFileName, `9 r) m6 R$ [$ f(欢迎访问老王论坛:laowang.vip)
            End If, r. y2 N5 z* m1 b: ^(欢迎访问老王论坛:laowang.vip)
        End If0 Q+ a: M# |  g1 |8 W, {/ j* x% d(欢迎访问老王论坛:laowang.vip)
    Next
, o: E& m- M$ {6 e* KEnd Sub
# K, _, Z5 h& [) `7 ], S, V7 z) c# Q$ ]! h(欢迎访问老王论坛:laowang.vip)

6 G$ O% h& _: T* m0 d) E9 F% Z+ s. v: ?& l(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
9 S  V/ U2 k$ @" H% u
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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