加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):4 a/ |! [3 K3 B2 r- S; U0 i3 [(欢迎访问老王论坛:laowang.vip)
$ U2 J8 o; \7 e. Z2 U(欢迎访问老王论坛:laowang.vip)

+ Q7 }5 S9 a% x/ a' 修改文件后缀名.vbs. K4 I; H0 [6 ]5 K; ]- a(欢迎访问老王论坛:laowang.vip)
'- o" E2 ?+ z% i5 C! S3 N2 p(欢迎访问老王论坛:laowang.vip)
' 功能说明:+ n' m" T. F' j+ U1 Z% R7 B(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
6 O* p" y+ j0 a; F  l# o' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
9 m1 R! Y5 T. V3 R( y$ [/ C# V': m/ u# q! ^( e+ k5 G(欢迎访问老王论坛:laowang.vip)
' 使用说明:3 S( ~* x, u$ p- E7 B) C+ D5 I(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。% A7 u8 ?$ g2 h& \2 ~3 F5 N(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。: \0 t' K$ s% A7 p; H(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
. B5 M2 K# V' F) W  Z' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。3 X  y3 L$ r$ q! f2 I7 A* P(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
4 L$ c  ~- ?* M: a" a' 6. 完成后,脚本会弹出消息框提示操作已成功完成。! I2 f- G' C0 V) T4 F(欢迎访问老王论坛:laowang.vip)

/ f# ^# i' M0 F5 F1 u8 YOption Explicit9 A% p( }( ?4 E! Q4 ^0 S5 C(欢迎访问老王论坛:laowang.vip)
+ Z- [! f3 p2 `(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径
/ ~0 I' R# E; P4 o( t" LDim folderPath
' M# n( S  H; k# X& dfolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")- b, i  i) n8 F- [4 S(欢迎访问老王论坛:laowang.vip)

( V5 k  E4 y$ s& ~# y7 y* r' 获取用户输入的新文件后缀名(不包含点)
. r9 p/ \2 J: {4 K; W" c; YDim newExtension9 `0 b' Q; D- l- \(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
5 n! k& j- P: `* I
, N+ ]" P8 W2 v# |4 h' 如果用户取消了输入框,则退出脚本
& V5 G0 x& N5 @: qIf newExtension = "" Then, ~$ b- b, h! w) S8 N2 N" B1 R(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"
' H& B& C5 x2 @6 g( g! U1 j    WScript.Quit) ~0 T( V) t4 p; _. t  X7 W5 P- ?* n(欢迎访问老王论坛:laowang.vip)
End If
4 H- y+ A4 P- C+ k  k& S: U- l( n- v* X7 o(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)
& c, J# U% t( i( Z! t/ aIf InStr(newExtension, ".") > 0 Then
4 [6 ~) H- B$ \    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
+ K6 s5 ?2 Q" S/ A0 I* s7 w$ M    WScript.Quit! C7 k8 B+ m- H: ?3 B4 u0 ?5 Q(欢迎访问老王论坛:laowang.vip)
End If9 p; H! v. p7 D, e2 n' x; G(欢迎访问老王论坛:laowang.vip)
5 T5 a6 L3 T/ E9 \% N& d' `0 a2 O(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
. ^5 b( |2 J) L, I( P: z; p% UDim fso, folder, subFolder
3 e9 e7 y. `  a* d/ K) `Set fso = CreateObject("Scripting.FileSystemObject")3 l$ @6 t1 M* f+ O(欢迎访问老王论坛:laowang.vip)
- O4 @9 i/ y5 }; n+ h. d0 Y* Y(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象
' o6 t$ }9 A! I- C5 DSet folder = fso.GetFolder(folderPath)1 E7 S' ^% W* H& V2 ](欢迎访问老王论坛:laowang.vip)

) `! Q( _! o0 M7 q- U) U8 \2 `* ]' 检查当前目录是否包含子目录7 k( c6 P. U! s) T(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders
* h7 v! ~1 @" q  {; f8 L/ FhasSubFolders = folder.SubFolders.Count > 0: D1 _0 F1 F% K4 I, `(欢迎访问老王论坛:laowang.vip)

1 r. l. j4 P# d& p) `' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件6 I+ `- x: q7 {(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders, ^" D5 N# D: h+ k/ j* }" g- v  c(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then% ~) M: R1 g1 L( f$ m(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")5 x" M4 e  _) ^' n& w  T  j(欢迎访问老王论坛:laowang.vip)
End If
5 c$ ]. g$ i) J6 T$ _3 ], F- U+ y2 c8 T1 S& O- I(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件
& E6 k6 W( ]- S5 J6 D! R( VCall ProcessFiles(folder, newExtension)* r: H" N  Y9 Z8 `- E6 r9 p(欢迎访问老王论坛:laowang.vip)
. m* g0 H: F/ X+ d, W  @" L( Q# p(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件% O& m" g( o, J; K! X(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then
' i8 J6 R& V, g, y    For Each subFolder In folder.SubFolders+ x& k1 b  A" {4 H# X8 L(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension). s+ {( L8 Q, ?2 o' L(欢迎访问老王论坛:laowang.vip)
    Next+ n6 q) ~  G$ [7 I(欢迎访问老王论坛:laowang.vip)
End If
) ~0 C" a! g  M, N* I
- v, T# N+ J9 P( i% R1 x: m! O' 提示用户操作完成
8 t  M% o/ o1 @MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
; `" r/ Z, F( l( P
; t' U3 t4 Z2 Z6 \" P7 z' 处理指定目录中的文件的子程序$ k$ Q& w5 H: q; K: K" A  y(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)4 j5 P0 O, X1 f/ |8 l(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter: X7 i' H9 `) a(欢迎访问老王论坛:laowang.vip)
    Dim nameDict
, O( x$ T4 e6 A+ f' q6 E% W, J
/ n% t6 ], g) J7 s" F8 h7 ~    ' 创建一个字典对象,用于存储当前目录内的文件名
  D- p- t' v9 G% E$ h, G! ?& E2 R    Set nameDict = CreateObject("Scripting.Dictionary")5 S' G- |. L% m7 }/ e1 E(欢迎访问老王论坛:laowang.vip)
* Z/ [; E3 E/ l3 a(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件3 ?. t8 j+ J- B4 `4 S- B(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files
0 l. v/ \& }* C  t, W1 @        ' 跳过后缀名为 .vbs 的文件
9 M: M! {. H+ d/ i# q; L4 \        If LCase(fso.GetExtensionName(file)) <> "vbs" Then! z$ n1 d6 P5 y+ z- G$ o) D1 x(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名6 N& F1 y6 r0 n9 @3 v( i  B/ s(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name
, l% e( |2 E7 \# m, L; D            baseName = fso.GetBaseName(file)
( s% k/ l4 M6 [% j5 G/ Y+ O% ^            currentExtension = LCase(fso.GetExtensionName(file))
6 M1 b  T2 V9 T2 i6 C6 a4 m5 |5 u(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名9 o5 H. Z/ P9 \. f, c3 P(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then; T7 N: h! i6 N: C( g1 L) r(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名
. }' d* U7 n( Y4 r3 v                newName = baseName & "." & newExtension
& C- K: x8 H$ c% H+ Z  u5 Z8 |0 v9 n0 C* {' j(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名
- r2 f# l) Q/ i* O+ f' D7 U                newFileName = newName
7 ^3 h  P. V" Z& R* b) k9 i                counter = 1% }1 [- H  R2 K2 O/ d4 _(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一- E) c0 V- `6 |: n; I3 m! z6 T3 i0 Z(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)4 o# m; Z3 f. M. U1 r, Q9 Q(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension1 M+ _  I* w' f$ l(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1
) e& B5 O  |( T; e- w                Wend6 h3 s+ \5 k1 M& {. f+ j, z# S! I8 {' A(欢迎访问老王论坛:laowang.vip)

" ~# A3 ~& ~: c4 j                ' 记录新的文件名* C1 Z" L+ R( h% e" `* N; `(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True* Z- A1 X/ r3 a" t. Q(欢迎访问老王论坛:laowang.vip)

8 n. P* g/ @7 D                ' 重命名文件
/ C' g3 k0 j# `0 O5 w* K: X                file.Name = newFileName
) w- K: O# P$ O% K' [5 W            End If
4 X% R" @6 ~) M# f+ E        End If
! [1 U+ e! H- m* {5 c    Next
1 y# h9 @% m/ E, A6 x  t/ E( PEnd Sub' {2 s  K3 J: |+ |* K(欢迎访问老王论坛:laowang.vip)

1 x* |; I8 \4 v( b) {3 u8 e& C5 n/ p+ O& a(欢迎访问老王论坛:laowang.vip)
* n, f  R; G: e# u(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
( \, f" R3 r7 w- A$ ?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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