加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):4 [/ z3 X( C3 L/ t7 b: i7 R+ ~(欢迎访问老王论坛:laowang.vip)

( C. V; s6 T( A* v1 ?  M3 y
# l- Y$ W# e6 q8 T7 b' 修改文件后缀名.vbs
" S4 q1 R/ q1 w'5 D! o$ p4 y, A" w7 M( v! e$ q" ^(欢迎访问老王论坛:laowang.vip)
' 功能说明:
" Z2 [* P- W7 i  z' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
5 w8 E4 c7 Z& K0 x6 ?' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。5 b5 n4 _! \+ X. ]3 z/ p(欢迎访问老王论坛:laowang.vip)
'6 f4 ~3 q4 l' Q! ^6 h! `0 s: F(欢迎访问老王论坛:laowang.vip)
' 使用说明:" ?: S$ V) q% y- q(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。8 z* m  a/ a9 a7 ~' ~# I/ ^(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。
& v% O( F  R  a# Z/ w" u' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
, C7 X8 {9 L) }( B' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。+ Y3 |. G' O( t(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。" j) ~+ b* ^0 W' B6 R$ c' v! [(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。$ h4 W6 H% j% b# }* }# L+ I4 ?(欢迎访问老王论坛:laowang.vip)

1 f0 ?% B$ |; }( E; x3 U+ c  zOption Explicit
# O) W& M0 }) @% e# S( f- }: a$ v$ ]) v2 C(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径
" E  r8 B# v8 `. HDim folderPath2 o/ {  O# p5 z, O' y6 Y" e6 u(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")+ u9 K+ w; X' k(欢迎访问老王论坛:laowang.vip)
# K" X+ F2 i0 ^(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点); _$ l% |6 H4 T: E. Z' T  ^3 q(欢迎访问老王论坛:laowang.vip)
Dim newExtension
  D6 \9 l/ c$ d* a" O; AnewExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")( `+ ?9 W4 Z' b/ ?+ @4 a(欢迎访问老王论坛:laowang.vip)

* l" p7 \# j# u) M% ^' 如果用户取消了输入框,则退出脚本$ x* N3 {4 b& ?1 n5 Y* B& d(欢迎访问老王论坛:laowang.vip)
If newExtension = "" Then* Z1 f( |5 H3 k+ N0 F1 x5 e(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"
0 ~6 ]. h& I; s7 P& g/ Y    WScript.Quit
. {) |# u* Y! T5 R8 ]. m0 ^End If, _5 k- i7 k+ G7 {(欢迎访问老王论坛:laowang.vip)
- B3 U  _- f; o' f(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)7 A2 m2 [0 q1 O! l- {9 d* t(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then
- v" G) r2 F  K. T. W3 u0 B4 }/ L/ \1 `$ t    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"- C( a6 i! z$ v/ e9 ^3 n' x0 y3 X(欢迎访问老王论坛:laowang.vip)
    WScript.Quit7 M  ]( }7 `% \- u(欢迎访问老王论坛:laowang.vip)
End If+ B( n% l! K7 K/ j1 M(欢迎访问老王论坛:laowang.vip)

  }9 i, a9 d5 w: f" ?" W' 创建 FileSystemObject 对象
; R" q  w$ J1 l7 `# FDim fso, folder, subFolder
2 `' q; x# J2 g( W! a  @3 c2 MSet fso = CreateObject("Scripting.FileSystemObject")
# p9 a+ `4 r8 ~$ f: q1 j! S
# o0 P9 y4 a6 S' 获取当前目录的 Folder 对象* L" }5 j0 a' o' U4 b$ O(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)
. z  e# t' c+ i  e% U# w
8 X. b7 d9 ^' G; H1 E/ `8 r' 检查当前目录是否包含子目录
! b3 o$ Q- J/ \8 aDim hasSubFolders
8 ^  B' c/ @7 ThasSubFolders = folder.SubFolders.Count > 0/ E' M3 k9 w: Y. d; ](欢迎访问老王论坛:laowang.vip)
" F" n/ U0 r; w: l& A0 C(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
  I% Z4 A0 q8 Z- c8 JDim modifySubFolders
3 n. P4 {5 [. V- T% n9 \If hasSubFolders Then# q( s  N. e# X$ w(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
1 c7 v: b2 @7 E# p& [End If; P( _( n% e/ r, K5 F2 }(欢迎访问老王论坛:laowang.vip)

8 {6 P7 ^" E6 x' x' 处理当前目录中的所有文件: [; W. `0 m; p1 h8 u0 o4 s  g) r+ E; ~(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)3 s; Y' c5 o3 J* l. M(欢迎访问老王论坛:laowang.vip)
% M% E$ F- K  v  ](欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
7 K' a2 b4 T$ S  eIf hasSubFolders And modifySubFolders = vbYes Then
) H3 O) d+ j0 v- e    For Each subFolder In folder.SubFolders' X& l% I' j& o2 V: W; o(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)6 ~) ~7 P# Q2 e- f+ ~(欢迎访问老王论坛:laowang.vip)
    Next& ?' c, u9 u6 T1 m7 a  y, o( i% D(欢迎访问老王论坛:laowang.vip)
End If
: ?: n. @: a- C! X0 Q4 ~4 |, O" }( u(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成) T9 H% D5 M) n" M$ t/ ^(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
4 v' B. u+ b8 U7 N+ j- x  o4 T& f! j( o& p, B& Y$ f3 k$ g1 q(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序
" B" ]. ^6 E# l6 E: v5 ?3 _% tSub ProcessFiles(targetFolder, newExtension)
8 D% e1 m' c3 h6 u2 @    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter) A9 J! R# e, U6 C+ g/ q/ W(欢迎访问老王论坛:laowang.vip)
    Dim nameDict
! a' c: U' q2 ~$ |# |9 y0 [% L. @) i  t8 D(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名) W, v2 w- h9 E( }; r(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")8 v0 C" r: m4 V0 u(欢迎访问老王论坛:laowang.vip)
1 ?2 @& R5 D, I( a5 a(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件( }! E$ V( p4 S/ \7 G2 m(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files, _0 H. W! r% y: w4 Y9 m7 j8 B(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件
: ?: \1 K5 k9 Y4 N2 e        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
0 A' x5 B5 P, W. A5 S* Y            ' 获取文件的旧名称、基础名称和当前后缀名8 u: i- K9 n2 Y8 m: d$ d(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name
' y2 e# \: t2 J8 \! M; `            baseName = fso.GetBaseName(file)
9 z9 }: e/ N% E  J) `/ p& o4 n/ h/ y            currentExtension = LCase(fso.GetExtensionName(file))( a1 u4 Z) ^7 T' c9 ]& M) j(欢迎访问老王论坛:laowang.vip)

( y, Y, }' T: K            ' 如果当前后缀名与新后缀名不同,则进行重命名
' |+ p: u6 ]- P- E1 e( H            If currentExtension <> LCase(newExtension) Then/ x7 x7 [# y7 s4 h% d# p(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名+ C' _/ Y, E7 J- U7 v9 q) _( `- ~(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension
; n8 G( q0 n: m  N9 P7 M, r- f1 w+ c- w% Y(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名8 {5 M& X! q) p  ]5 a2 P# F. ?(欢迎访问老王论坛:laowang.vip)
                newFileName = newName6 T, ~! s8 f9 O(欢迎访问老王论坛:laowang.vip)
                counter = 1
8 b8 ]  h, N2 f: `+ j% c1 j                ' 确保新的文件名唯一
& E2 k$ G& I; j8 e6 H- U                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
- K' ?* w5 g3 R1 {" s  R                    newFileName = baseName & "(" & counter & ")." & newExtension
" q- `; }# g4 \$ ^# {* G" C                    counter = counter + 1
* J0 o, g/ F7 n1 o' X& s; S' U6 ~! O, \                Wend& j3 K0 `/ x- r0 R' G(欢迎访问老王论坛:laowang.vip)

" B# P/ ?. m) n  x; ^. F                ' 记录新的文件名2 W1 S; W/ m0 p9 k  k  m$ O- y(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True
: W# c6 U# V. O+ |. n4 {4 ]7 K7 R. e7 b7 y  t: E9 J* F(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件
! A0 E# P$ n# ~( [                file.Name = newFileName9 T" m+ _' V5 ]( E. a+ {. _; R(欢迎访问老王论坛:laowang.vip)
            End If, f2 k/ }* R! z) @( [(欢迎访问老王论坛:laowang.vip)
        End If
5 W/ F1 h# E& M9 d, D$ F    Next
3 S. p- q0 N5 k, u' b: @End Sub) U  x, d1 y* F# o) }(欢迎访问老王论坛:laowang.vip)

  _& I3 u, x4 n; `: {* v- D) _8 L4 q  f) ]& V(欢迎访问老王论坛:laowang.vip)

0 k: H4 [5 `: |& g* n2 f
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦* B( @4 n, R7 W0 d) v5 e. k2 q(欢迎访问老王论坛:laowang.vip)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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