加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):9 o3 e2 p- ~  [; i3 U; t(欢迎访问老王论坛:laowang.vip)
9 y# b) T9 K% {+ c(欢迎访问老王论坛:laowang.vip)
9 h; A5 y3 ^% X* f. y  H(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs" A, W. S6 R/ N/ A' q; g  Y(欢迎访问老王论坛:laowang.vip)
'- d# Y1 ~1 e4 U4 n+ w5 g" a(欢迎访问老王论坛:laowang.vip)
' 功能说明:( {  a, u; Z. r4 H(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
; J! P- ^7 [: q; a2 a# o7 L' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
& I+ O2 v% y" u0 U: ]/ Z" z'
3 L' f1 D! T+ m4 I0 e# c1 T. k' 使用说明:& A  D% @& l& y- V3 G6 G/ @4 z: m/ ](欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。- s/ O! Y9 X- t0 x. J% G- Y  \(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。
$ L. }; r' X9 s7 C9 K' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。  x* v1 u) e; m% S0 Z: ^& a6 [1 E(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。( v: C9 {) O! D4 `8 Y  S(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。' i/ g6 v- `. L6 I; x9 A7 f' |(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
: ]4 Q. I( e) _! @
9 k: ^* f( j; L- \1 L  Q* |% W4 |Option Explicit
4 x9 e9 D2 A! D$ H. u0 r# e
0 c  M( k* c% o1 \- J- i, y% t* \' 获取当前目录的路径0 C" L  \1 U% Z5 M5 r& n(欢迎访问老王论坛:laowang.vip)
Dim folderPath8 v& y8 s. P! m* V1 z(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")( X: M$ m8 i! C8 _- ^( n(欢迎访问老王论坛:laowang.vip)

$ A$ C/ C% @# X/ _' 获取用户输入的新文件后缀名(不包含点)
6 M- M. c6 w. f& t8 j7 U/ sDim newExtension
# o$ C( u  E# pnewExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")0 p1 H) r. X4 D# e* i$ w; B7 C$ ^/ S(欢迎访问老王论坛:laowang.vip)

9 U+ u4 R; x- Y' 如果用户取消了输入框,则退出脚本
: i; F, c- B  U: h  n* C$ dIf newExtension = "" Then
/ q- B/ {% U4 L. j! p    MsgBox "操作已取消。", vbInformation, "信息", s' H9 a" }4 N2 Z$ p(欢迎访问老王论坛:laowang.vip)
    WScript.Quit& E0 m- Z* I, G( D& {3 u; x6 R: W(欢迎访问老王论坛:laowang.vip)
End If
+ z$ ]) k( c3 v# @# U, v$ \+ d2 B& p! w: e" p8 x3 g/ b(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)
( @1 U$ m  l7 mIf InStr(newExtension, ".") > 0 Then7 l+ N3 {, e, f* r. @(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
( z9 ]' l# [6 a. S    WScript.Quit
8 i; K! X$ m0 u" s& D5 O' uEnd If
) Q* t3 Z7 T: u% y: b. Y( L
" k  M4 g6 G1 |9 `- ?' 创建 FileSystemObject 对象
  S/ V8 U, A& ~7 N6 C+ |Dim fso, folder, subFolder. F0 o8 O. q7 h" |" j' m" X(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject"). y; n/ P/ t8 r- o6 G. Y(欢迎访问老王论坛:laowang.vip)

7 P" w" S3 A2 J8 C: f" c' 获取当前目录的 Folder 对象
+ k0 q, A- I! [* j) L: z  [Set folder = fso.GetFolder(folderPath); j) H$ j2 {" p2 }5 I(欢迎访问老王论坛:laowang.vip)

8 f( W8 `$ |; j9 A% M2 f- q9 t: H" u' 检查当前目录是否包含子目录
( K' U; w  t8 O5 fDim hasSubFolders6 y4 E1 x" m$ A2 h1 Y: G(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
% U% k. \4 b& q2 s8 y5 n: \0 u+ i  b& @(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件& l' N/ y1 B9 s( ?& q/ l(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders( [7 v% X) v) N! T; j(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then
7 |- @8 O+ t$ i+ y0 m/ X+ ]! J2 n    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")# `; `, h) n7 |/ O; l& x- [& u(欢迎访问老王论坛:laowang.vip)
End If
% `, q; a0 v7 }' V( [! y: O. t
6 G+ l$ `/ W1 k! N, I' 处理当前目录中的所有文件
( j& ~9 e! t! V, l" k" YCall ProcessFiles(folder, newExtension)
4 X9 {, P0 f+ H( n1 ]' x& n6 i( w6 l, p; y$ ]1 p1 W: u- g(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件6 ~) {& q$ |  V: s$ I(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then7 V& J" M; F7 a! M/ b(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders
$ N& ~/ U  S6 h$ \8 H$ D0 [        Call ProcessFiles(subFolder, newExtension)# K* t$ s$ ]6 \# |5 ^5 U(欢迎访问老王论坛:laowang.vip)
    Next7 K( D  }( @3 Q4 n4 C3 h(欢迎访问老王论坛:laowang.vip)
End If! \; K) y  T- Z3 R, a: k(欢迎访问老王论坛:laowang.vip)

: v1 M3 T0 O% Q4 ~( N9 z' 提示用户操作完成9 e& P8 t3 x/ q& H) s(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"7 O( N. A+ d0 n, F- g(欢迎访问老王论坛:laowang.vip)

. w6 h3 q! z* Z2 |" P$ O' 处理指定目录中的文件的子程序
+ F% H# \$ j$ c4 T: R) N' k+ hSub ProcessFiles(targetFolder, newExtension). I5 q" B3 l; c) U( f3 @# P- X8 ~(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
5 W# I+ [5 J5 u/ k  J8 i0 |    Dim nameDict
4 Q+ X& t8 p3 ?' n2 L" g
+ x' Z: g  y$ Z5 {5 c    ' 创建一个字典对象,用于存储当前目录内的文件名0 X! M# ?1 I) E! B5 |$ h& [. K(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")
1 M0 [5 h; i, u
4 U6 ?! A: N4 [% ]. j4 n! s5 ~    ' 遍历指定目录下的所有文件
0 T) H" S; N( H  _  R    For Each file In targetFolder.Files; [: t$ s' ]9 H- q' l; D# d' @! P(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件
; y! }. f  E6 t# i3 m        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
4 a+ D* t* `$ Q: I0 t+ f. Z; N& r            ' 获取文件的旧名称、基础名称和当前后缀名
$ [& W4 h: ^4 S. J! B- e            oldName = file.Name
$ E$ ^, h0 x& _  J/ s- \            baseName = fso.GetBaseName(file)
% \' k. X* x4 u3 @% v            currentExtension = LCase(fso.GetExtensionName(file))7 f' w8 ~, {1 W5 e' m: D(欢迎访问老王论坛:laowang.vip)
0 e7 `6 |! p$ Z  |* y(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名  z/ T3 ~2 F$ Y- {(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then
3 i- a8 p/ s+ y4 h                ' 创建新的文件名3 i6 k5 X* w% R! |& s* v- b; m(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension
+ W0 K/ O- O) F1 |  H9 u5 C$ }3 E1 s' U(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名
4 n2 x* S/ @! y8 J7 ^+ V# B                newFileName = newName
; r# ~1 e% _1 v# o7 b  n; K  w                counter = 1
: I& f3 m9 J- A- n                ' 确保新的文件名唯一
- I" q# j1 ?8 L) C4 M                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)9 f- r5 X9 D. M. o7 `1 r(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension
0 |6 D. r' Y5 y                    counter = counter + 1
0 g0 g) D. `/ Z% w: R9 M2 z                Wend5 E$ q3 V% J( E(欢迎访问老王论坛:laowang.vip)
" y5 Z, Z" u9 I" }7 o% `, a(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名; v' r( Q. B: r% \7 n- K(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True
  `  a+ `, K6 y! t! _' L' u
, c/ w  w( r* r* `) L5 Q* S* m                ' 重命名文件
# [! D5 Y/ h; F* F. |, C. p! s                file.Name = newFileName9 h( N% O3 r- Q" P* {" |9 f+ j(欢迎访问老王论坛:laowang.vip)
            End If
" P$ H1 @) \7 v  G  Q/ }        End If
6 t+ S$ z+ Q* N* b- F% f5 G0 n    Next; F4 b4 x. A( l/ X1 i# S- q  g(欢迎访问老王论坛:laowang.vip)
End Sub! H, D) m' o# `* E" \" A  n( O! S(欢迎访问老王论坛:laowang.vip)
# O: }6 R  p, y2 }(欢迎访问老王论坛:laowang.vip)
: M: L, w, d" O' E% g; S(欢迎访问老王论坛:laowang.vip)
/ A; K9 n! g3 j% c7 \# m1 E% @* T0 A(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

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