加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):$ k6 P) y* G* n" c(欢迎访问老王论坛:laowang.vip)

- }1 k! z5 G5 l- I4 ^, r
, v' S( \5 q; f/ ]' 修改文件后缀名.vbs2 }6 x1 |9 }5 ]; O+ M" B+ V(欢迎访问老王论坛:laowang.vip)
'
% H% f1 ?4 F5 a; g9 t* R0 ~' 功能说明:8 J- A) [5 c" q2 p(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
, D  w6 S' |+ ?' y+ m8 q4 k' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。! X  O" J: Z; ]/ O, x2 e(欢迎访问老王论坛:laowang.vip)
'9 Y4 c' K# K+ C& f5 y0 p! d+ ]6 \(欢迎访问老王论坛:laowang.vip)
' 使用说明:% W+ d& u: H/ V6 T  E9 Y! z. [( V(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
4 r, x6 r$ R& U' h4 S' 2. 双击运行脚本或通过命令行运行。
7 m5 G4 t2 O: S' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。3 b% l6 W) V) w, C(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
. [; Y& F. \/ C' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。2 t; C8 l9 M$ p7 S' _9 m+ r4 d3 E$ n(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
- g# g: L0 y3 h5 W, i* E* F- i: M- E4 K. k/ I! D. D4 j(欢迎访问老王论坛:laowang.vip)
Option Explicit. u- P7 H$ I( ]0 j' \/ l(欢迎访问老王论坛:laowang.vip)
2 Z' I2 P8 y0 N* ^3 S+ \(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径: Q3 S6 q& }% x(欢迎访问老王论坛:laowang.vip)
Dim folderPath" U0 }! ]7 {" }) l" S0 L, R(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
3 F7 E; S6 L: }; ?9 y
9 r# t, ^0 F# f2 v' 获取用户输入的新文件后缀名(不包含点): O: L7 J1 f2 z+ y(欢迎访问老王论坛:laowang.vip)
Dim newExtension
. E8 b& @$ k; I: p3 q* w5 r: [$ T3 GnewExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
2 k) Q( p3 o; K# y8 S7 G* K: T& ~% ?: p8 N: s9 t5 S+ o5 w(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本
# v7 a% \+ G9 U" x& b. o3 M  DIf newExtension = "" Then
5 H6 l$ A$ o/ ]% [6 D" Z( S, }- ]& q2 t    MsgBox "操作已取消。", vbInformation, "信息"  E; R" X& Y' d$ I) x(欢迎访问老王论坛:laowang.vip)
    WScript.Quit/ v. J1 a* \5 s, T( N0 X& r(欢迎访问老王论坛:laowang.vip)
End If
2 O+ U  u4 v) F! K: |
3 E1 ]: [/ F! a' 确保新的后缀名不包含点(.)5 d$ H0 J2 _0 `$ a(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then
! I: L1 u" l  q& \4 e: M$ T    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
- b" ]) j# l& D2 k* x/ V- N    WScript.Quit
8 E4 q, }& H; \% X# c# G9 f8 hEnd If! G3 F  J9 ?( T(欢迎访问老王论坛:laowang.vip)

% J2 A6 x! c1 c) `& i' 创建 FileSystemObject 对象
2 q( k- _' o. nDim fso, folder, subFolder
; U' Q5 _& {6 r' D' TSet fso = CreateObject("Scripting.FileSystemObject")
4 ?4 f% A2 m4 I; W, ^: J! e6 s) d4 f9 |  ]( {(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象4 {* k, |/ I. U(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)+ c" l* O9 R& r(欢迎访问老王论坛:laowang.vip)
. V; p/ d9 l8 X$ {1 C( g(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录# ~7 h, {; Q: k2 Y) m(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders
: C6 x3 {* v- h$ whasSubFolders = folder.SubFolders.Count > 0& i* t* F. F/ G2 G1 O(欢迎访问老王论坛:laowang.vip)

" T. d0 e7 G, H' L' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件# u* z+ C% M. j) R7 s' {) [(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders
5 u. Q( m  P- H7 jIf hasSubFolders Then
! ~: M0 x+ g& s1 p, f! t# ?    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")6 ]3 D  r( z, @$ d% Y(欢迎访问老王论坛:laowang.vip)
End If5 j3 i4 X* ]0 E5 a; l(欢迎访问老王论坛:laowang.vip)
) s* e2 V8 p8 Y/ j(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件
# l& `: G9 ~# o  c2 m3 B2 nCall ProcessFiles(folder, newExtension)1 s( _: ?  j; P6 ]7 d(欢迎访问老王论坛:laowang.vip)

9 F6 o7 u( y+ z- z' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
& V1 [9 H, s. G- H) k! c' @' m( K1 C( \If hasSubFolders And modifySubFolders = vbYes Then. I! u0 Y2 s6 H* I( N$ _(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders* |$ k' {  J7 {" O9 p4 y$ P(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
! t! K& M5 U  T7 P" C3 S* N    Next
5 o* B% l0 m. w: n& qEnd If
8 C4 ~9 N3 H* R2 L8 A# Y( d
1 c! L8 z( S5 J+ _& V0 v2 B' 提示用户操作完成
8 z; r/ V* J8 }# gMsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
5 P) E% x4 d. X2 [+ D& g; b# L6 B' ?+ Q$ g  p! ?" `(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序
# H) r: x* h7 t0 w* B" e1 cSub ProcessFiles(targetFolder, newExtension)* `- G& b% s) P- l2 E; H+ p(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
3 J6 R4 L+ D( Q% O    Dim nameDict
8 T; b; m; `; Q; z$ u+ D" k# w- l' M) l( ]4 s) L(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名
- ^) C. J# j3 p5 }2 C4 w& `    Set nameDict = CreateObject("Scripting.Dictionary")  x% x6 v- c' ~(欢迎访问老王论坛:laowang.vip)
$ ~0 S7 |3 ]% r' L* E6 q( V(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件
9 P; a6 j1 N; u8 k% S$ V    For Each file In targetFolder.Files
+ H: {" d' D" I0 p: e$ q        ' 跳过后缀名为 .vbs 的文件
/ i  l. f6 ~2 ?2 l. S        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
. N) [# ~- f& c            ' 获取文件的旧名称、基础名称和当前后缀名! T6 F5 l! N* `+ j+ T* D/ c7 @/ t(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name+ _/ m( I0 r! |5 v& r; `9 B(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)
. r8 u  j+ M, `. d            currentExtension = LCase(fso.GetExtensionName(file))
. W) v! \* N# J; {4 F$ g# U- L9 b' h8 g# E4 x) X4 Y(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名. I! _/ [, M" E: _( I8 @) ^(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then/ p5 s& p8 j" A; W9 q(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名1 C( L/ q0 M! K(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension, M- c+ U) [" N6 m4 }5 s' |/ C7 U2 l(欢迎访问老王论坛:laowang.vip)

' v: A$ X/ u" C                ' 检查是否已有同名文件,如果有,则处理重名
7 y$ w: N; [1 J                newFileName = newName1 _+ X  E+ [! a' ~(欢迎访问老王论坛:laowang.vip)
                counter = 15 |4 Q+ t/ T- y* E  r- P. J(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一& W- l9 C; T, ~% i) j' E(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
0 E3 w) y+ H% d7 v$ d, {                    newFileName = baseName & "(" & counter & ")." & newExtension
* [. p1 c& q  {3 A$ H4 X# ~                    counter = counter + 1
& k7 N8 R' o: C2 h                Wend6 D. p* l! Y! p9 t* [(欢迎访问老王论坛:laowang.vip)
- n$ f4 a7 s; v4 [, _9 d+ \(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名( F  K, f0 y3 h! J& b- L/ ?8 x$ Y(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True8 w8 A5 T9 h7 D6 _(欢迎访问老王论坛:laowang.vip)

# H  @4 a4 }! d                ' 重命名文件
3 x& M# B  Y* p  W$ e                file.Name = newFileName! G+ T) e8 C# e9 K# T# O4 E9 k(欢迎访问老王论坛:laowang.vip)
            End If
0 V( N" j7 v5 t        End If
+ F. n1 }5 M4 w' e4 v* k    Next5 u+ U4 h3 u- K# @(欢迎访问老王论坛:laowang.vip)
End Sub
: F3 O3 L( o: o' c% o2 u" J- L; e$ [' L. I; a& M(欢迎访问老王论坛:laowang.vip)
) F5 E& Z4 f6 N0 I(欢迎访问老王论坛:laowang.vip)
6 K) y2 d3 p% I* g0 D' P(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
+ f  s3 X  A- t5 c: V
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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