加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
: j5 g* ]+ C6 ?" `* d
/ R* K5 o/ E# c. n! V% T* d& o- ]* A6 }( v# i(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs% n. Q$ L; Q9 Z(欢迎访问老王论坛:laowang.vip)
'
0 y9 ]2 l' y) h+ m' 功能说明:3 s9 f6 i: W; z1 P. {- R+ X2 n* A(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
8 n3 c( a2 p: X' _' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。9 g8 M1 p' J- Q, @( U; X0 _+ u) B(欢迎访问老王论坛:laowang.vip)
'9 v1 I: I7 u) h$ }% c/ S4 l) D(欢迎访问老王论坛:laowang.vip)
' 使用说明:
9 N* A8 Y0 L! b* H( K9 K' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
& B; h- T# Y) C8 W! ~) Y6 U9 K' 2. 双击运行脚本或通过命令行运行。
6 Q; L* |$ X& ^1 D: z' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。2 X: g3 V- i: x/ g(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。: Z/ w/ D0 B* C! f(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。" l5 k! c* j+ O& T& ~0 w(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。4 ?: _$ l8 E( ?! m( C(欢迎访问老王论坛:laowang.vip)

& ^1 Z* \; `" J5 z3 dOption Explicit. l6 ^; f6 E! M0 {4 I(欢迎访问老王论坛:laowang.vip)
3 V8 S  O4 E1 N0 `9 t(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径
; P0 a9 Y, ^* }4 KDim folderPath
$ C9 G  t3 \  j" TfolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
5 V  t/ P8 X( c9 n1 o  S  s, j9 N(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)7 Q; Z: f0 t2 ^8 w(欢迎访问老王论坛:laowang.vip)
Dim newExtension
) L4 ?/ j$ f; M3 s2 z" vnewExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")  E% S3 ]6 E9 o2 y' S(欢迎访问老王论坛:laowang.vip)

' k9 c0 w$ H- }/ y- p- o% p' 如果用户取消了输入框,则退出脚本
* y9 J8 t) a. p1 N! q# f& W' rIf newExtension = "" Then' A/ A! h2 o" a. r(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"( x7 q4 H% u1 P: i0 u: k& t9 h(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
: \% d  Z6 |8 `* i# hEnd If1 C8 L) M8 Y7 x! u(欢迎访问老王论坛:laowang.vip)

# {4 S$ Z) A8 N' [$ |1 d6 B' 确保新的后缀名不包含点(.)
/ p, q+ ?- `& [9 ~2 CIf InStr(newExtension, ".") > 0 Then6 X( T/ O! S8 E9 |2 H2 H* M& f. B% S( F(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"; m3 @  ~( \& v$ c+ e(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
" k& {% D/ X7 hEnd If
% N, Q7 W" A4 y- a
, z0 g/ @4 N& v: ?7 }! K  Q# ~' 创建 FileSystemObject 对象
( B0 ~: t& j6 z: lDim fso, folder, subFolder
1 Z$ A4 o4 }5 H' K; k( N0 Q) c6 zSet fso = CreateObject("Scripting.FileSystemObject")2 R* j2 t: T: @4 h) r- w( y(欢迎访问老王论坛:laowang.vip)
2 X* s7 _- x% C' S(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象
5 z' C0 U6 e9 f$ [- l+ k4 R. [Set folder = fso.GetFolder(folderPath), q5 A; D6 C* V3 l% I' C! f(欢迎访问老王论坛:laowang.vip)

0 D' L' J: c' X' 检查当前目录是否包含子目录4 o: J" w% q* q+ S% F9 U% p(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders% R3 P, h  S* |; R! `. F(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 00 q3 Q' @* N$ K7 R# L) G, Y(欢迎访问老王论坛:laowang.vip)
, s  q# F3 S2 M  K0 f* r  J(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
5 t' S) u/ P# m, wDim modifySubFolders% W2 f3 ?. b: e8 f7 E& K(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then8 N4 f. }9 K  W0 w: b7 k(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")0 k3 G# Y3 A) L% N) o- L2 R" C(欢迎访问老王论坛:laowang.vip)
End If
6 [- x1 |5 u7 b9 o
$ T. p  Q* X5 Y+ R' 处理当前目录中的所有文件/ d# P' o. H0 P) G' \2 R) A(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)4 G4 r4 m% Z+ u- |$ o4 |) |' r' o(欢迎访问老王论坛:laowang.vip)

2 c. V4 q( [+ X; V  c1 W' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
, U5 y; c: U$ A, W; BIf hasSubFolders And modifySubFolders = vbYes Then
  W, r: O9 ]5 p6 q7 G    For Each subFolder In folder.SubFolders3 j4 Z% C" U( \. h& n0 ^3 R5 r1 P& h9 y( {1 G(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)7 I& p$ `8 B# E5 ^(欢迎访问老王论坛:laowang.vip)
    Next! a5 u* i; {4 e) C9 s(欢迎访问老王论坛:laowang.vip)
End If/ u- J6 y% j7 _(欢迎访问老王论坛:laowang.vip)

- C* A. i+ l4 Q% O5 O5 o$ L' 提示用户操作完成* Z/ n0 ?: z. b" @- m(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
: X% o) M5 U0 g9 N2 z0 D
/ f9 N1 L. t& M5 T* C5 O' 处理指定目录中的文件的子程序
  K( `8 `+ _, P3 m+ DSub ProcessFiles(targetFolder, newExtension)6 e& V+ k: y+ I. D% f& a(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter- S, H  b) b7 K(欢迎访问老王论坛:laowang.vip)
    Dim nameDict$ h& {; g4 j* a& w  m* [) q+ s(欢迎访问老王论坛:laowang.vip)
; T) G, ^# C$ Q* c9 ?( @+ w# N(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名. r: z  o: W" k7 H+ J! j1 S(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")
# V+ t: |+ [; P1 T0 [0 h, \6 G; r% K8 f) P(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件
$ c) F; z* c' F: ~    For Each file In targetFolder.Files3 q" R" V+ o0 C: s(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件, b6 e* {4 \) j/ L9 y4 \(欢迎访问老王论坛:laowang.vip)
        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
0 F- ~8 a. S# W8 |; c            ' 获取文件的旧名称、基础名称和当前后缀名
2 |5 W9 E1 P9 \            oldName = file.Name' V( Y7 K9 o8 ]+ k5 S) `(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)! I% _" D) D5 {. T* v- V3 O(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))
' a! C2 o% W$ F+ u5 Z2 J( q2 G1 C* ^5 X9 ^5 ~' ^9 i(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名
( r0 H' b& O- s1 S# b  Y            If currentExtension <> LCase(newExtension) Then" X& G  @% q/ v2 w: }" h) H(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名! S0 q# _  R) a(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension
. p# R: A- s1 P$ q% Y3 [! k5 l- s' Z0 ?3 v( ?) G0 W/ r(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名/ [( O. L; h2 d  p2 F# ~(欢迎访问老王论坛:laowang.vip)
                newFileName = newName+ ]3 q" M' a0 J- n6 d0 c(欢迎访问老王论坛:laowang.vip)
                counter = 11 Q( U2 v( u0 A0 }) Q7 ?3 a* a(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一
  r3 r- m. A1 y5 z/ H                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
: @% m1 m7 ?: d" n* W# q, _                    newFileName = baseName & "(" & counter & ")." & newExtension: ?* d/ g# |0 i( u. A' A3 G8 v5 F( p(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 18 v% k- k( ^: m8 y, l(欢迎访问老王论坛:laowang.vip)
                Wend
* ]! e6 Y3 U6 s. B$ u# x: C* O# E/ {- B
: }& }) p  z+ F. U, q" f! |                ' 记录新的文件名! F  X- A: L$ b+ P$ @(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True5 B1 g8 e& z4 ?2 ^, w6 ?9 ]4 o(欢迎访问老王论坛:laowang.vip)
  v8 ~% G: R3 a' V  z  ~(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件% v1 Q, z  C& V* P. u(欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName+ ]& C& z1 m0 g/ Q! D3 J0 c* G, G  _(欢迎访问老王论坛:laowang.vip)
            End If( b  k3 s5 K& v(欢迎访问老王论坛:laowang.vip)
        End If' A+ d: q- z  E(欢迎访问老王论坛:laowang.vip)
    Next! j7 i, e9 r; \7 N+ y(欢迎访问老王论坛:laowang.vip)
End Sub6 U- v9 z& m3 H" @9 z2 n(欢迎访问老王论坛:laowang.vip)

1 J$ O4 n. X4 F$ y3 v( ]
4 J+ N. v5 V7 Y0 }* U$ ]5 ]
: A9 i7 e& D" G4 K2 t" h' \
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

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