加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
' g: M3 o3 n+ A: z# O& e! l- Q1 y( W3 M8 O# _( W(欢迎访问老王论坛:laowang.vip)
0 q/ H& Y' Y/ v; k& `(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs
3 @. ?$ z! R+ Y/ q/ R# X$ p' n'& d/ M3 K3 E: O- ~(欢迎访问老王论坛:laowang.vip)
' 功能说明:  K  Z8 {5 b- u: ]% y(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 ) L( P- Z+ _, M! n# X(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
9 f2 q' [" f0 x) d'" t, a2 I! F0 Y" S+ t" J* n$ o(欢迎访问老王论坛:laowang.vip)
' 使用说明:
1 g( l5 M# T* V+ q& M' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。" t2 [5 x/ Z8 ^+ @4 R8 o% i1 j, t/ |(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。$ G  z! A& ?6 p8 {(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。  W( D: _0 X. n1 W8 n(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
4 R+ M  b- G0 ?+ i' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
% e8 @, {6 @# I0 Y7 n% W, w' 6. 完成后,脚本会弹出消息框提示操作已成功完成。8 w/ a' |# l( {4 H/ H+ A, i+ f5 _(欢迎访问老王论坛:laowang.vip)
: M$ t; G9 z& ^7 y+ u% K; N(欢迎访问老王论坛:laowang.vip)
Option Explicit. p8 L2 j+ Q+ c/ Q8 ~(欢迎访问老王论坛:laowang.vip)

% I8 {8 u2 f1 G: y( x8 t5 d9 ]" b3 x1 l1 U7 p' 获取当前目录的路径; d$ q8 [* K! Z) g2 I2 h8 D(欢迎访问老王论坛:laowang.vip)
Dim folderPath5 b5 O/ a4 Q4 X9 [: r' m6 P& l0 V(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
' U% C( M2 N8 J7 Q; a- j' X% |
0 C' b% I) P3 |7 u. j0 g' 获取用户输入的新文件后缀名(不包含点)7 }, X: N8 ~4 w; X(欢迎访问老王论坛:laowang.vip)
Dim newExtension
4 N# x1 v& H6 D, F' VnewExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")6 s2 s' N' V6 W0 {3 ~(欢迎访问老王论坛:laowang.vip)

( b) U) B# J' d& c/ p' ?' 如果用户取消了输入框,则退出脚本; z- W, K5 L) V6 E; ?4 j. X! K(欢迎访问老王论坛:laowang.vip)
If newExtension = "" Then- e" s, g. p# k# g& M! b0 A6 C(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"8 g2 ~) G( S' T. F2 ~1 N(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
- V% J' G% u2 U& ~# NEnd If
3 V) Q( w3 H6 ]' @) y, M- `9 `  D
# |  \. F- |& M, x- D9 v; {& ]' 确保新的后缀名不包含点(.)
, ~* v2 S5 F. FIf InStr(newExtension, ".") > 0 Then
" o7 {' J8 D8 }0 h    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
4 s4 c0 _% p7 S, D9 T: q4 r+ R2 ^  d    WScript.Quit
# L  ^9 t  k6 G" LEnd If
3 p$ s+ _& t+ u( v: n8 R5 |. q& K/ _( `( F8 q(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象( w5 e: r3 P9 X(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder' I0 v! D3 r1 m9 L(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")/ H, Y& g( o( J; Q(欢迎访问老王论坛:laowang.vip)

( N# ^2 H9 w& t2 e1 x' 获取当前目录的 Folder 对象
  P8 S# @  Q' r0 wSet folder = fso.GetFolder(folderPath)' X- i0 Z' w% n4 ^% W(欢迎访问老王论坛:laowang.vip)

( o2 a" D( R, s) o- n- @9 K4 y' 检查当前目录是否包含子目录
; V+ {9 q6 S7 |/ Z9 qDim hasSubFolders/ G8 k4 G* d0 m2 K$ G$ m. {& {(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0: y" ~6 x; R- V$ h: O  \( V3 |9 U0 n(欢迎访问老王论坛:laowang.vip)
" s  t' o8 f# a0 _(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件9 e4 M; o2 J+ X  [(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders
  G+ Q4 c* v, `" v0 ]If hasSubFolders Then5 m) ~2 j, |. T" [(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
0 [' _) R3 M2 I9 HEnd If0 k  I2 Z, I0 w- I. l: |& E. z  \: o(欢迎访问老王论坛:laowang.vip)

! }. H/ z# ?. |2 n0 N2 e' 处理当前目录中的所有文件* C# {7 I1 y4 f0 f, ~. Y(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)& ^; e9 D- e/ s" i  k( \) Y2 d) A! j(欢迎访问老王论坛:laowang.vip)
9 _4 C+ u6 ^' m- H; O% g! R# b+ D(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
9 |9 i2 |" z: \' _; t5 `. S5 i* _If hasSubFolders And modifySubFolders = vbYes Then- X1 H3 x9 {4 W* n' R(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders
2 Z: K1 `8 h* ]        Call ProcessFiles(subFolder, newExtension)8 u0 j" e( p& v& G. e& k. X(欢迎访问老王论坛:laowang.vip)
    Next
- `2 j& m6 U& t% a2 D0 H5 o9 EEnd If
" h/ L( s9 @; t3 z, W4 D! [9 N9 t/ Y(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成
. J% Q6 p) A$ L6 ~MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"( W  j/ m7 P+ u' V(欢迎访问老王论坛:laowang.vip)

+ U& D0 u; _# Q* r4 ~7 m7 B' 处理指定目录中的文件的子程序
" f8 w; P# C& S. d$ N) oSub ProcessFiles(targetFolder, newExtension)" t9 ?6 ?. }  ](欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
% ~. t* a5 s8 ?. y$ m# J9 P& K    Dim nameDict; L$ A0 D* |2 N5 |/ w) J# a(欢迎访问老王论坛:laowang.vip)

9 k3 x4 X5 a3 e  ^    ' 创建一个字典对象,用于存储当前目录内的文件名
. J- e% ^2 t" C- m" q/ i    Set nameDict = CreateObject("Scripting.Dictionary")
$ Y4 k0 L# x6 \2 O
% Q1 o( x/ L' e7 H: W1 E    ' 遍历指定目录下的所有文件4 E* K4 @- F& _* e) C(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files
; s5 t8 w. G( p% S0 o1 o* s        ' 跳过后缀名为 .vbs 的文件
- ]8 P1 v, z4 W0 Y" N$ c        If LCase(fso.GetExtensionName(file)) <> "vbs" Then% h$ q8 _0 h0 w( P4 Q(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名- f+ F" R- A# z/ J$ }( S9 R1 l8 g(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name
, j+ n' g, N! l4 m4 K4 c. m            baseName = fso.GetBaseName(file)/ r( l( ?7 O3 C' K: o(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))9 R$ }6 G5 v0 u6 V, K/ D(欢迎访问老王论坛:laowang.vip)

( c: e% G$ m+ z& _. {" t% V; t            ' 如果当前后缀名与新后缀名不同,则进行重命名) Y9 O/ o$ N6 X' e(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then  g) o6 {) W- t4 x' i4 S(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名
1 ~8 c8 ^/ G) E3 ^                newName = baseName & "." & newExtension
" e/ {% A! Y8 Y* b+ s! g4 w- G
: f. v: m% P& p/ v. H                ' 检查是否已有同名文件,如果有,则处理重名
+ h, g2 M1 C" f7 ?* P) k5 x( M                newFileName = newName1 v6 P( c% a5 J8 H/ w(欢迎访问老王论坛:laowang.vip)
                counter = 1
5 Q0 |' L& L9 K                ' 确保新的文件名唯一  i( Q9 m5 ]0 c, Q! n* x(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)* O7 n! L1 l; @3 @" ?* l' i6 G(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension
) T( y$ |$ H6 s. \* ~; F                    counter = counter + 1  G- d. m" Z# q7 P$ W# t! l( r(欢迎访问老王论坛:laowang.vip)
                Wend
* ~5 e! U3 m5 F8 n# J
# R4 W$ w; i( U, |) b- u                ' 记录新的文件名! u1 K  [! o- v# [/ X(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True
/ _1 C  \& O+ F; P
7 k% o, j% X! A# p. S                ' 重命名文件" \4 z0 G0 R) N9 n) i3 B8 |/ g(欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName
, o7 x1 z/ |! p7 f3 U            End If
7 J. ~  Z5 s8 Z# L  T3 |        End If
- R6 X( v, }- U5 P    Next& r1 C7 x# j; W8 k7 I% f2 S4 n(欢迎访问老王论坛:laowang.vip)
End Sub
/ t* E! @9 G% ~% u  O* Y% G" C, ?, @- z/ u/ K0 W(欢迎访问老王论坛:laowang.vip)

& z6 l& H" e, m' ^% D) V7 |8 J- t& D) X(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦; f; v  Q& G# y  V9 c" x(欢迎访问老王论坛:laowang.vip)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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