加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):) ?' q8 z$ b$ o3 `/ Z(欢迎访问老王论坛:laowang.vip)
& s7 Y( \4 K9 k: [2 `0 E(欢迎访问老王论坛:laowang.vip)
! r: G2 S' h2 w! ]" w(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs
; J- E% n) b7 w4 @'8 ?# X6 Y; ]4 W(欢迎访问老王论坛:laowang.vip)
' 功能说明:1 T2 @& F5 C  f2 r( n(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
3 G* V; x9 i* ]. h8 N# d; \8 p- d! x' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。3 w+ u+ p2 ?" \- {( e: @% |+ |(欢迎访问老王论坛:laowang.vip)
'
$ q* {/ T( P" E5 U' 使用说明:
, d6 y6 d% y3 @0 n+ [* V' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。5 t: v; |% |+ ?/ @. M(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。4 ^0 K7 f$ l" }! R: o(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
- n) D2 i; g" u. x3 X8 _) I' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
' L7 Y$ \* T6 l4 `1 T* D' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
: q( o/ _/ z1 A6 z) A# Y5 G' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
8 q/ G$ K. ]# o, e0 e# z  h. ^. [" M$ F' m2 @(欢迎访问老王论坛:laowang.vip)
Option Explicit1 ~0 B8 z, y2 A2 F(欢迎访问老王论坛:laowang.vip)

5 Y: i6 U6 E& V& e' 获取当前目录的路径' u8 t! ]* j& o& V7 V(欢迎访问老王论坛:laowang.vip)
Dim folderPath
: m: K2 l2 O4 F( a9 {3 o; FfolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")- e& I( Q4 e# a; d- D(欢迎访问老王论坛:laowang.vip)

- w( S$ I6 S- B1 j/ J$ B; U' 获取用户输入的新文件后缀名(不包含点)
* g6 \* A- g' T+ p- tDim newExtension, u9 K# c; I" r# {8 _  s, `(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
' u- B, _& R: D
( z9 x- n/ b. I; n' |' 如果用户取消了输入框,则退出脚本7 m; Y# i  o$ o/ T" T(欢迎访问老王论坛:laowang.vip)
If newExtension = "" Then
, S; E% K2 p# a$ f' V2 ?  ~    MsgBox "操作已取消。", vbInformation, "信息"7 @8 o8 A8 z5 _( M8 b(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
0 Q% C6 X) w1 XEnd If* R; F& o6 M& [+ }5 {) t5 G; X2 K(欢迎访问老王论坛:laowang.vip)
5 o1 u6 ?% z) N3 d' c8 e* y2 z# N(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)
6 b4 D, N5 v' j3 R2 @  UIf InStr(newExtension, ".") > 0 Then
2 N" G: A! Q, ^    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
2 ^4 D1 [& Y5 ?$ T- g* v  K    WScript.Quit4 y5 o/ P9 r2 p# g(欢迎访问老王论坛:laowang.vip)
End If
! T- N* q+ \! ^) o+ {8 V2 Q
/ B: u3 B6 n4 N, e: c' 创建 FileSystemObject 对象
# j" O5 l/ d8 ?$ R' SDim fso, folder, subFolder6 I  {) y" x8 p% ^+ q, O(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")
! ~) g; {$ O' [/ |6 J
# l- q1 ?) o+ Z- ^( }' 获取当前目录的 Folder 对象) ?) |7 [) a, G/ x# M2 E3 l(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)/ S* o7 W9 P* J9 D( F(欢迎访问老王论坛:laowang.vip)

/ R8 P/ j+ S, N5 W3 q' 检查当前目录是否包含子目录' M# H0 B! X; X& r! c(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders
/ o% \5 q8 r  w1 ohasSubFolders = folder.SubFolders.Count > 00 T1 J  Y" e4 M: B(欢迎访问老王论坛:laowang.vip)

- P2 t) Q9 ]  V4 b' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
2 ?0 ^7 P; W+ nDim modifySubFolders
9 N/ |% |0 o: o9 @! G$ eIf hasSubFolders Then
- c" C" q6 x1 D6 A" d    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
) f, X; p- j2 yEnd If% Y7 j0 n2 {# j+ [$ W& Q(欢迎访问老王论坛:laowang.vip)
- }) B! c$ q7 u8 x* a& a(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件
- F  o3 s' e, b( k7 _Call ProcessFiles(folder, newExtension). O  x; H0 K) {$ `, {(欢迎访问老王论坛:laowang.vip)

9 v' W# J8 k; c8 @. z' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件  q3 a4 g/ }, h, _(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then
7 Q" ]  R( E2 Z& C    For Each subFolder In folder.SubFolders8 `8 `9 B  m  y; a+ c2 q(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
4 k  ~# r% s$ v) u/ Y    Next
7 a' ]$ ~; _$ q2 V$ p. w) {End If
! _& c0 Y4 ?9 l  P* V; F+ b% n  c& X(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成6 U  w* V/ W( |) A7 S(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
/ f$ {/ k+ P* o2 J4 Z6 L, _) s: h7 X5 ~+ W6 Q(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序
8 \" V" W# N( c+ Q& wSub ProcessFiles(targetFolder, newExtension)
/ N$ P4 ?0 H/ f% d5 t- z. U/ R/ N: H    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter4 I1 S8 W  X! u& L. @(欢迎访问老王论坛:laowang.vip)
    Dim nameDict  j4 g( @) w; J6 I& j& J' H(欢迎访问老王论坛:laowang.vip)

+ b, O' g* Q2 l; a    ' 创建一个字典对象,用于存储当前目录内的文件名
3 Q4 _7 j# A/ T% ~3 a% Z, f4 Z    Set nameDict = CreateObject("Scripting.Dictionary")2 z- ]4 q0 S6 Z! b5 @0 N1 \' W(欢迎访问老王论坛:laowang.vip)

$ U# C) O8 x; \3 x9 M    ' 遍历指定目录下的所有文件
! A# s* f" j! g    For Each file In targetFolder.Files& @5 L& m8 q9 N# r(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件
& I# x" B- [% |7 A/ l        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
4 J8 N9 n  z3 u1 w3 ~, U7 R            ' 获取文件的旧名称、基础名称和当前后缀名
, |2 b# b7 [/ Z5 X4 w) J  l" n            oldName = file.Name& ~+ |9 v+ l, \7 x, t* x(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)7 {# _1 B$ e  \4 T! M(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))0 R) i9 R& x# n! k  @' j(欢迎访问老王论坛:laowang.vip)

$ N" T: U) k+ ~4 J            ' 如果当前后缀名与新后缀名不同,则进行重命名
- r+ L( Q* u2 V' Z3 Q( w( I            If currentExtension <> LCase(newExtension) Then
8 @, q; _# w" ?2 {+ ?* y                ' 创建新的文件名( D. N" O4 R7 C* k' v2 h  E(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension8 f% a! m' E3 U  V6 ?- Z" N' f(欢迎访问老王论坛:laowang.vip)
# H. D7 V& }, U8 Z0 p3 [(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名
/ l" \% \  R3 s) n6 p8 m$ _0 [                newFileName = newName
2 i6 p7 o+ I2 @                counter = 1& w/ b- b( N1 h! Z(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一- Y0 e- [+ m! B) Z' ~(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
& f8 l& G$ z5 v1 {                    newFileName = baseName & "(" & counter & ")." & newExtension
: L, Q! q3 D/ J                    counter = counter + 1
- r% n6 |" B6 Q9 k$ r5 C( Q8 [) D                Wend
" h3 ^2 N) {5 F% I' {
; j5 {# y7 @2 B6 Q2 d) s4 @' a# c                ' 记录新的文件名/ @' b& _4 e! A4 ?5 j; G(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True) K  g) q' T0 F) z! u0 r(欢迎访问老王论坛:laowang.vip)

2 V6 x" R; F  w' ]! R! V                ' 重命名文件
  g8 n5 f& {4 j$ i. F                file.Name = newFileName
# |/ S4 x8 y- K$ U            End If6 \3 ^& }$ R, C3 J(欢迎访问老王论坛:laowang.vip)
        End If  F$ [2 o# d6 G, \* a/ ]6 j5 }9 I(欢迎访问老王论坛:laowang.vip)
    Next+ U2 z# ^3 W6 c  G. f( t(欢迎访问老王论坛:laowang.vip)
End Sub  b& S" W: U9 r  p(欢迎访问老王论坛:laowang.vip)
; I0 a7 e) `0 X* R! o(欢迎访问老王论坛:laowang.vip)

) |5 c: a) J9 H$ J  u$ t* W) M# o9 ^" f(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

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