加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
. ?7 R+ U9 c8 c9 I: \7 ?. `, j7 A3 b(欢迎访问老王论坛:laowang.vip)

8 l" y- m% ~8 F. T& F2 u& z8 L' 修改文件后缀名.vbs0 t: X1 y+ s8 G(欢迎访问老王论坛:laowang.vip)
'6 r' H& U" i! Y' Y# b8 H(欢迎访问老王论坛:laowang.vip)
' 功能说明:4 y7 q- u/ H: @: V(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 ( a4 H9 F8 s+ {- a(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
% ?$ l' ^/ E& w" W'
6 v6 t3 }3 A1 Q( Z9 [' 使用说明:
2 x  [& y! D- Z' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。2 M8 Q, A7 u; k0 b% l& S(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。7 e/ K) H/ I( [+ Z" ?' b: t  i(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。% @- g! X) }  O- V7 s7 u(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
1 i. L0 x# e# b# C2 {6 A' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
8 E. t5 K* H4 Z4 ?/ f' X' 6. 完成后,脚本会弹出消息框提示操作已成功完成。$ b8 R' a2 }9 o* y+ z+ o3 R(欢迎访问老王论坛:laowang.vip)

1 i0 u0 T4 y0 D3 YOption Explicit) {- `; w/ C! a; Y  R(欢迎访问老王论坛:laowang.vip)

  C4 r% W, [  i$ J( e( T# d4 ]' 获取当前目录的路径
+ A1 d" H3 ]6 sDim folderPath
4 }" K0 i' ]2 r  i. `folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
0 v- r" t/ [% u* I% X9 F' c, ^* {- D  v! F(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)
2 R3 ]8 I4 w& c( r3 KDim newExtension2 k- o" T5 d. c+ a. r(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")# K! d, v% X7 o4 X4 u: x(欢迎访问老王论坛:laowang.vip)

* D5 }: v$ l( f( _9 t' 如果用户取消了输入框,则退出脚本
/ E9 T* R% w+ c4 C6 K, ~' HIf newExtension = "" Then& |' k9 Y. R$ G' u; T(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"* ?) c6 K; y' o) Z5 R6 J(欢迎访问老王论坛:laowang.vip)
    WScript.Quit9 h! x6 u* o# H' N(欢迎访问老王论坛:laowang.vip)
End If
1 y( [4 j; k7 x; E# [4 Q  Z) f: |0 P$ r. X; F(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)
9 I7 @7 z8 k4 Z2 }6 e- H3 jIf InStr(newExtension, ".") > 0 Then& b, j2 s, p2 ]* R& N(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"  t6 d3 |# ^) s" q( ?(欢迎访问老王论坛:laowang.vip)
    WScript.Quit/ q' j  r! s) b(欢迎访问老王论坛:laowang.vip)
End If1 Z8 P5 P  h* P) b- @; e(欢迎访问老王论坛:laowang.vip)

, Y3 T" K5 P3 h' 创建 FileSystemObject 对象4 B# G1 `8 f8 h" Q9 r(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder
5 g. Z/ t* l, SSet fso = CreateObject("Scripting.FileSystemObject")$ z# J( k) i$ v- A2 w: k(欢迎访问老王论坛:laowang.vip)

  ?: r2 G! ?5 e9 J" M8 i5 v' 获取当前目录的 Folder 对象- {2 k% W( D8 O9 v( g3 N(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)9 {: ^. _2 S7 g) w(欢迎访问老王论坛:laowang.vip)
3 `5 N5 D# C. V2 D(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录& |: e4 q5 }. {% Q3 D$ r(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders
& K: X( g* ^( E/ QhasSubFolders = folder.SubFolders.Count > 0# Y* \5 J+ ~4 @3 X  h0 C. V(欢迎访问老王论坛:laowang.vip)
$ e5 e9 V& m' C# d* J) y0 g(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
# b3 q: O7 f$ A: `4 `1 ]Dim modifySubFolders( a2 @$ U" i2 S(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then
- `1 D7 A/ \" G5 U    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
$ z+ i# N; i$ q8 [End If
8 D( A; i. E7 n5 j* H5 k% s$ B: p7 r2 n# I(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件
" G+ R0 k; W' t0 tCall ProcessFiles(folder, newExtension)
3 ], V* t5 \$ v7 V" n$ E. z
2 Y. p+ U: l/ Y# g' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
( ^' x. a9 m& a7 t. YIf hasSubFolders And modifySubFolders = vbYes Then; U/ h# a: p9 d: \# V+ y(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders: n& _9 o2 N0 [1 f(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
9 ^+ ~( J$ q; u* p: _    Next7 I  P* `6 [+ S2 p(欢迎访问老王论坛:laowang.vip)
End If+ m  m( O8 o% {(欢迎访问老王论坛:laowang.vip)

: y) I0 u) I/ W+ w& s- S( L' 提示用户操作完成# k( ?* [3 I7 w0 ](欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"9 l) i+ E9 [% b; d- A(欢迎访问老王论坛:laowang.vip)

+ v  L- ]1 w2 l2 w% G% H' 处理指定目录中的文件的子程序
8 o1 e" g& Y) s! b& w' a4 G+ e  NSub ProcessFiles(targetFolder, newExtension)7 W4 _$ v2 b: I$ z(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
0 F! v! D- [0 [6 z    Dim nameDict8 i2 U3 [$ [* f7 J: _3 F, s0 q. d(欢迎访问老王论坛:laowang.vip)

. O% _0 [7 `7 c, H, V    ' 创建一个字典对象,用于存储当前目录内的文件名9 p6 \1 G5 [; p( a% N1 T(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")8 l. I/ Z8 f1 W! ?# y4 j(欢迎访问老王论坛:laowang.vip)
3 T0 O4 E$ G9 c( k8 I' Q/ s(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件
; O; l8 j# f0 E3 q4 b% U: P  o2 f9 h    For Each file In targetFolder.Files
! F9 ?2 R$ s3 V        ' 跳过后缀名为 .vbs 的文件9 W* v6 p  ?2 L# D! M' M1 _(欢迎访问老王论坛:laowang.vip)
        If LCase(fso.GetExtensionName(file)) <> "vbs" Then0 d( ]% m1 [6 L$ m( ?; y3 A. ?& e(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名5 V, p2 }7 k6 d% @; j8 K+ ^(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name" }( X! j! S9 I8 m(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)
+ M; |( t9 ~3 `4 V* o/ E; K+ x            currentExtension = LCase(fso.GetExtensionName(file)): w0 p/ |2 X+ u( J  @+ U(欢迎访问老王论坛:laowang.vip)

: Z3 F; f  t5 F( N3 g            ' 如果当前后缀名与新后缀名不同,则进行重命名
% d( W) [4 m, C  t+ E            If currentExtension <> LCase(newExtension) Then
2 A! _% Y& k- ~( e! B5 D                ' 创建新的文件名
7 I. ?# A5 V9 a! e! X                newName = baseName & "." & newExtension; G: {4 f6 h9 s9 o' ^' E(欢迎访问老王论坛:laowang.vip)

1 C# R6 S! w& @3 O; |0 A, @( r3 p                ' 检查是否已有同名文件,如果有,则处理重名) e4 H# Q8 m9 }/ j9 T4 N* s(欢迎访问老王论坛:laowang.vip)
                newFileName = newName# U* N+ N5 ]8 V: v  K(欢迎访问老王论坛:laowang.vip)
                counter = 1: r9 y' u+ b+ ~0 q2 r, }(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一
% r1 \) _# k9 M+ j# n                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName), I8 \$ E6 O2 u+ i5 ]; x(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension
- k7 n7 q9 }( p! O: y9 K                    counter = counter + 1
5 X# K3 m) g  l! Y( ]- K                Wend# z2 E$ ^$ h% c9 n(欢迎访问老王论坛:laowang.vip)
; T; b: v1 t% o(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名
; \* |8 f' s+ @' h& \5 I                nameDict.Add newFileName, True
' r# T& I' _% m: z0 X0 g; r
1 P" N# `) U. d                ' 重命名文件
# @; L* ]. u3 B2 {' h                file.Name = newFileName8 q) g0 O0 _8 Z% T8 R7 l(欢迎访问老王论坛:laowang.vip)
            End If
: P$ t- j2 _2 p( C$ I) p7 x3 t        End If, P. H4 J' e' T$ n. S$ O+ j; P(欢迎访问老王论坛:laowang.vip)
    Next/ m3 h9 D2 ]( N4 F# }, e& E7 ]: R(欢迎访问老王论坛:laowang.vip)
End Sub1 E8 g" K+ S* {) ^% e9 m  E(欢迎访问老王论坛:laowang.vip)
- q+ o& o2 m/ x% h3 [(欢迎访问老王论坛:laowang.vip)

+ C' Z. B" h. u7 k: ?; {* G  V5 D
3 }: @/ E0 {  T7 |; c, D7 P9 K( A
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
- a7 U1 R- q( t' ~# F5 N& a+ s
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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