加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
# Q5 K( E3 g) g0 C+ _. i) T4 _% a( {: Z3 t; X7 K! ](欢迎访问老王论坛:laowang.vip)

/ H- R1 x  G6 F: f2 k/ z' 修改文件后缀名.vbs2 p+ V, D3 C5 d) H(欢迎访问老王论坛:laowang.vip)
'& o' k9 E  S% t$ R. Q; H" {! y(欢迎访问老王论坛:laowang.vip)
' 功能说明:# e% F4 N3 }7 p9 {" [7 S1 e(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 : L4 w/ n9 z3 G) b7 b(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
) [# V. v+ b/ m. J1 V" v'
$ i6 {3 s6 o3 Y$ q' {1 U8 |) x7 \' 使用说明:
* x6 Y- t+ p) z0 f0 F$ T' q, k& r' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
4 D9 t* g5 W% v% d3 V( l% I. H' 2. 双击运行脚本或通过命令行运行。
) U$ P$ h1 p" Z: \, {' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
4 M. r" d* D; G6 j1 f# ^( {/ x2 N) c' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
# y% [/ T  R* }" i8 h0 n) D& y+ f' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。. {4 P# k5 v6 b  ]+ |9 @(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。* o4 k/ \: p, C: @(欢迎访问老王论坛:laowang.vip)
' S9 i: K0 r' J% i(欢迎访问老王论坛:laowang.vip)
Option Explicit
; U1 F/ T7 p( F! H* }& o, p& ^- E  D9 [; i% L, m) [(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径
: \- e4 E& R4 p+ f: j7 k2 PDim folderPath
# @9 t- ^" u8 U/ MfolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
3 @3 h" R3 w1 n! @' B; H# j  g, P# c6 R% j" H, A(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)
* {- _4 Z; U/ O. _$ |6 h! EDim newExtension8 d8 k/ }+ U( D% c3 ~* r" z/ }! q(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
- S' \% t# f) d" i# D: T' q) U' m+ n7 P" V  |(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本
& _1 A% ]7 v( M) s! t$ F; ~/ ?9 `If newExtension = "" Then$ f/ w, k8 N, f! X(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息", j" A: A0 z2 r' h( z& Y8 {: m7 z(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
6 H0 j, y" V* g4 D) y6 `) fEnd If
0 }1 M* E6 P9 N+ w4 l6 v4 `# s( r* L" Y' v. o. u(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)
% D9 H; _/ M& e. u4 a" zIf InStr(newExtension, ".") > 0 Then! D- R3 M- d7 g(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
6 J/ p' l0 ~3 u9 a% p$ o    WScript.Quit3 ]- m& r+ z. y" `9 f1 ]! [; ?% z1 I(欢迎访问老王论坛:laowang.vip)
End If
4 a$ Q" s) W$ N1 y4 T
  Z5 A3 d) a" H, r' T7 X' 创建 FileSystemObject 对象% Z: |: z. i% ](欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder
- _# d/ Z# i0 g* B  U* w  T1 c2 G' @Set fso = CreateObject("Scripting.FileSystemObject")
! o8 _1 n' x# |, F3 M) n+ e* H
. ~) k7 }& F' B7 v# `' K" |' 获取当前目录的 Folder 对象
: c% f% Z6 S3 E  ASet folder = fso.GetFolder(folderPath)4 O/ f- k0 x4 E* g' |+ K8 C(欢迎访问老王论坛:laowang.vip)

# j, @& o  U* j" H' 检查当前目录是否包含子目录
  }. o8 n& D* m0 Z3 }; U+ ?Dim hasSubFolders0 @* C$ @6 j6 W. U(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
" O) |1 B2 D7 ^
& a& E7 [2 M- z, m$ ^' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件( h# r6 l- M. H$ {1 Q8 O5 K(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders
6 X' |5 l, i; T5 zIf hasSubFolders Then
# m8 a) q2 c: {    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")' o' i% e/ l. X) o: u  ]* a% I(欢迎访问老王论坛:laowang.vip)
End If
9 d3 _+ k6 ]4 L7 T$ t9 H- \
; u8 P! K9 i# d; G4 ^! @% B0 {' 处理当前目录中的所有文件
1 v7 |. t/ L. B4 B4 FCall ProcessFiles(folder, newExtension)
0 j. I, }, w5 U9 Z
% M* R  ~9 W! g) M3 b' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
5 C6 _9 C: q. f# Y, S1 y1 IIf hasSubFolders And modifySubFolders = vbYes Then, g2 [9 u; u9 q# {  B3 X(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders9 n, x. `1 m( h6 j0 \(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
  x0 u' d. L8 f& _7 \% g3 g    Next* E1 G4 ~$ [4 n(欢迎访问老王论坛:laowang.vip)
End If
/ O4 y# A  O* Z  g# x, w6 {1 y3 l* @5 t- D; Q(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成
& s8 [# O4 F0 L1 R2 Q5 L+ PMsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"% J, b8 `! H* ^; O, b& ?. X(欢迎访问老王论坛:laowang.vip)

2 ^) G& P  f' C3 w# J0 v; \' 处理指定目录中的文件的子程序
8 p+ Z  B9 M5 m* b/ ~Sub ProcessFiles(targetFolder, newExtension)
! T% j3 W( A; S' _7 r! X) s2 q    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter0 P% x5 M- X9 z. k(欢迎访问老王论坛:laowang.vip)
    Dim nameDict+ y5 k3 ?. o! [$ W! \(欢迎访问老王论坛:laowang.vip)
4 X2 X" y, j2 b; o7 B- Z% Z6 x7 T3 C9 Q(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名
( O& _8 a" K- f- s    Set nameDict = CreateObject("Scripting.Dictionary")7 t/ K' ?% n' }(欢迎访问老王论坛:laowang.vip)
2 i# w5 K* R( s9 R, h3 Y. S(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件
+ L$ C! o, d4 m$ x# _! P. ?    For Each file In targetFolder.Files
, I/ ^, l/ ?$ U% g        ' 跳过后缀名为 .vbs 的文件
. J$ i) E- Q! h$ o$ o1 @        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
! _9 Q5 X  k; z            ' 获取文件的旧名称、基础名称和当前后缀名
$ V5 k& i" M; e- f0 [+ \/ z% B            oldName = file.Name
; s0 }: |8 A$ J2 L3 n+ I4 ~            baseName = fso.GetBaseName(file)/ @4 b/ A5 a- K" L" ]7 b(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file)), }9 [2 H. q& u9 ~(欢迎访问老王论坛:laowang.vip)

" s6 n2 T3 i. V            ' 如果当前后缀名与新后缀名不同,则进行重命名
# T( s0 a. s' Z0 U' P$ c            If currentExtension <> LCase(newExtension) Then
1 G1 ?. p- m1 X, x, q- L                ' 创建新的文件名% c9 m3 y; |& ~7 ]5 h. B(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension
* \5 H* q  v7 p8 V# ]
3 F" i$ x/ C: g                ' 检查是否已有同名文件,如果有,则处理重名8 X; U- J2 }% c6 P; m! n(欢迎访问老王论坛:laowang.vip)
                newFileName = newName
6 j+ t* g+ O8 W) B& L                counter = 1
- X' @! T& v* g0 w                ' 确保新的文件名唯一% X7 u( E: D0 R" w) M(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
- Z+ @: F, }2 j                    newFileName = baseName & "(" & counter & ")." & newExtension2 l2 {, O( X' _(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1
6 l6 ^  B  @2 A5 E: T7 t) s; y/ Z                Wend! ?& x5 ]& d! E; X, e(欢迎访问老王论坛:laowang.vip)
+ r" K& j; R( S3 u# f! j(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名
" j& A8 W) H2 {" v: O: _' i& O: N                nameDict.Add newFileName, True
8 g5 X4 R) A/ ?& V: l0 X! V# _  b: d) V/ P$ y6 a(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件
+ l0 {3 O% i7 p/ P. Y/ |8 r                file.Name = newFileName
: f: q; M# m1 w5 r4 N1 [            End If" q1 W* n$ ?$ u% d(欢迎访问老王论坛:laowang.vip)
        End If
+ R& h" I$ [/ }% t    Next
) z/ C1 p! y% j: ?& v, L* ~2 NEnd Sub
  J+ v. f; p% A- Z9 X' W0 F) X4 b3 d" z2 e) g+ f(欢迎访问老王论坛:laowang.vip)

  g  T6 O% }( P! V" m# F
1 B3 x5 q$ K( k% d# K
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦" e6 a6 V' n1 S. J- }(欢迎访问老王论坛:laowang.vip)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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