加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
7 f( k* ^1 {! v" ^( E, }
  I- [3 ~6 z5 _9 x
4 u5 ?2 k4 _4 Y: p4 _' 修改文件后缀名.vbs9 D7 r, c, W! O* i(欢迎访问老王论坛:laowang.vip)
'
! E6 k5 Q( ]: C2 K. \3 {' 功能说明:
' z7 o# \" t: m9 [( _* G8 \1 `8 E' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
* L4 u, J, e5 L1 O! {' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。" |9 v, O9 c6 D4 E2 U(欢迎访问老王论坛:laowang.vip)
'
- |* \3 m+ R: L2 K; n6 t- o' 使用说明:; j6 S6 F0 z+ A) P* [/ g1 [(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
' ~& c* `" B+ n; X6 b6 p) y' 2. 双击运行脚本或通过命令行运行。5 h" ~% p- n1 f7 ?(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。7 ]/ t& T/ B. `9 N( N/ U+ A0 r: x(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。) W, O; c; x. S# g(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
- A' T5 b+ m; c  M' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
6 ?' e6 F& \. L8 a0 D
, i' B, ?; c+ V: B" {! WOption Explicit- d) H9 P+ g7 ~8 u$ L1 t( ?(欢迎访问老王论坛:laowang.vip)

  c: A0 N6 t" C: p) j' 获取当前目录的路径
- ^& t; s5 v1 Q2 {* ADim folderPath
( R9 B7 p- J* H3 y: Z% x8 YfolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")$ ]# d* m! p! D: x8 y* f(欢迎访问老王论坛:laowang.vip)
" ~5 e  L6 i* S1 l( r3 ](欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)8 m3 I. P5 H5 v(欢迎访问老王论坛:laowang.vip)
Dim newExtension' f4 E* I1 w1 F(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
8 n/ ^3 @3 A, F, t6 L7 V
! H9 B% F- b% w6 b* _' 如果用户取消了输入框,则退出脚本: {+ S% J( W; |( B7 f  P(欢迎访问老王论坛:laowang.vip)
If newExtension = "" Then
1 ?( g. u2 d6 ~+ d5 D7 l    MsgBox "操作已取消。", vbInformation, "信息"
3 C8 e! p; x/ `. _: O0 l3 {4 B  S    WScript.Quit3 {' b8 c4 @2 i/ z8 Q& U3 c- H7 Q(欢迎访问老王论坛:laowang.vip)
End If
: z8 _2 s( @' z. a+ s- b% P- h+ V/ ?4 M  V1 }  G1 A2 c(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)
! p6 M' L2 E! u9 C: p' i0 X# EIf InStr(newExtension, ".") > 0 Then
  ~" a& d5 d! G    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误". q( n: R1 g8 L, T; e% h(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
, }# e' |! E; V4 B# F" r1 \0 q5 X; |End If( Y  i6 a" |. f/ F: `9 L* R(欢迎访问老王论坛:laowang.vip)
7 ^$ O# D( r* z  [& x(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
9 g( j' U! I  Z; R) w6 pDim fso, folder, subFolder) {0 C( M9 G, `, Q; t' N(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")
7 h) o" z; g5 D* Y& u3 A
! z5 S8 ]5 R! H( k/ ]8 S' 获取当前目录的 Folder 对象
7 B1 o) Z# s' h  k- KSet folder = fso.GetFolder(folderPath); A/ I; L' {: F. `' k6 [$ M(欢迎访问老王论坛:laowang.vip)

% n8 L! J& B9 I: z! t/ i: l( y' 检查当前目录是否包含子目录7 w1 U1 w9 [9 p8 Q, }" @( a(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders4 ?- ?1 w% Y1 t(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
. R) j. q! h7 g* U! T
% g& M* H# U$ u! E; X. P1 m% @0 _/ ]- g' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
: {3 l$ ]3 A7 pDim modifySubFolders
% R  A+ ^  y2 t* lIf hasSubFolders Then+ x* X0 ?* h: b: M(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
" I7 Y% K# u9 i3 i1 IEnd If, e6 d' a$ M2 Q0 x, n(欢迎访问老王论坛:laowang.vip)
5 f/ e" ]$ g' V+ G(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件. W% X  J/ t, }(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)) P% E8 G2 G* v3 E3 H  v+ [(欢迎访问老王论坛:laowang.vip)
2 a2 M9 N1 c+ O) G(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
& Y8 z7 M8 _" c4 [: NIf hasSubFolders And modifySubFolders = vbYes Then
3 }7 C, s% Y( B! Q3 \* ~    For Each subFolder In folder.SubFolders: t" L' `' p9 n0 c1 B(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
% d2 k- ?3 R) i    Next
* ^" e' M6 q* t% V; PEnd If' o. x3 |2 V8 I8 V# \/ D+ y& _(欢迎访问老王论坛:laowang.vip)
' u  A1 L& e  C) U2 B- O' e! ~(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成
" X* h; l3 [- L  y6 o$ YMsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"1 D! z. j  D) `' s6 g0 V! a(欢迎访问老王论坛:laowang.vip)

3 W( v1 A0 m4 `' 处理指定目录中的文件的子程序
' S5 w5 T8 N) A5 o, E) _3 ~# l' rSub ProcessFiles(targetFolder, newExtension)0 n, D* q* n  f* i0 ~" x& |6 i) {(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter9 q9 u# R  r# }: ^4 b0 r(欢迎访问老王论坛:laowang.vip)
    Dim nameDict
8 t3 E# K# ^$ i& {" }" Q7 X7 o7 D# X# D$ j& o6 {; u( X9 v(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名$ q9 M  U, a8 r5 I7 [: \8 f' z- C(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")  s$ ?- l: P" x: l9 O/ C(欢迎访问老王论坛:laowang.vip)
) t5 ~( c. b% n: d+ S8 R" a7 l2 t(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件
& C1 m" c, _+ ]0 j    For Each file In targetFolder.Files
- ~$ {" k+ V, z! G4 w! `        ' 跳过后缀名为 .vbs 的文件
; T& i- J+ {4 d/ a5 Q3 M+ x) W) w        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
- p% S% y9 V( s! {            ' 获取文件的旧名称、基础名称和当前后缀名  p" D+ a  ?: u/ a5 J! y( t+ ?4 W(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name
, D9 B8 g5 ]+ ]) z( n1 N- ^            baseName = fso.GetBaseName(file)
! r  p7 }3 B  D  ?! |! A            currentExtension = LCase(fso.GetExtensionName(file))
6 C/ I$ D% X. l$ x& i% y# P. q' T
* z) |: ~9 t- g' x            ' 如果当前后缀名与新后缀名不同,则进行重命名6 v" C6 \; u$ L! c3 ]9 |(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then9 J1 U0 f! d, r$ J9 A) ]2 Y3 Q(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名
8 f  F  l; M  `1 C1 [                newName = baseName & "." & newExtension8 R# O, a9 ^) x6 l+ D: s(欢迎访问老王论坛:laowang.vip)

/ T$ o4 o# ~! R4 @1 X1 n% B2 Z                ' 检查是否已有同名文件,如果有,则处理重名5 R) S9 d* @, {. [$ n: D(欢迎访问老王论坛:laowang.vip)
                newFileName = newName2 k3 k) E' T  B8 h) q) ]4 f  N% R(欢迎访问老王论坛:laowang.vip)
                counter = 1
$ _* N. Q7 r9 ]  t                ' 确保新的文件名唯一. B8 c( N; z9 r* r; v% Z(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
2 r- J6 M$ Z( V" ?3 |                    newFileName = baseName & "(" & counter & ")." & newExtension0 Y. `& a; b( H3 R9 z. a(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1
# B& A1 {" [6 M/ B" d                Wend: T2 ]5 F& a0 Z# b3 R8 v5 s- E# Q(欢迎访问老王论坛:laowang.vip)
, Z* ?6 o' I1 L$ w2 _6 P(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名
4 U' J0 z3 l, j( [                nameDict.Add newFileName, True
1 @# x" N; B: q6 D! U6 L& A  N8 \6 \% e$ |% R(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件
& n: N$ a, N+ P0 ^) B8 j4 Y                file.Name = newFileName
6 x7 Q4 \1 F1 u! ?            End If2 h0 A+ n; I% S% o$ S(欢迎访问老王论坛:laowang.vip)
        End If- h4 r* B0 s' X3 P(欢迎访问老王论坛:laowang.vip)
    Next
' J. ~2 e1 N( ?3 GEnd Sub
9 d7 l4 n3 O  S$ y. |/ Y4 s" O(欢迎访问老王论坛:laowang.vip)

# h8 }  Q3 u: G* U! f! @- W/ f8 J5 i+ F(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦, V7 n, H- L) w( t0 t7 J+ E(欢迎访问老王论坛:laowang.vip)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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