加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):: r) G, L, B/ |$ P(欢迎访问老王论坛:laowang.vip)
5 j4 v, F; c" p: l/ l/ w8 H! u(欢迎访问老王论坛:laowang.vip)
, O7 f6 g; c$ j(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs
7 k0 ?; }" j6 O0 G$ {5 [) C7 Z'
8 |4 V+ L7 y  `, j6 C8 b% f' 功能说明:1 f0 Q, y  t' h$ _7 L(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 & n6 B8 v- W* G' _(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。) ?- X$ V' n0 \( O(欢迎访问老王论坛:laowang.vip)
'
2 [. g/ S( K  @3 Q( G- X0 l' 使用说明:! j4 ?( L6 V- c: g# l: O9 M(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。3 D7 ^3 Z9 f3 J(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。
3 o. A; o$ R9 G7 ?' X: }2 e- T  J' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
: I' f1 x/ E5 h9 }3 `" i. a' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。' N! h+ |% C- i! A, y1 B$ p(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
% Y& Y* K- i3 R& c. U' 6. 完成后,脚本会弹出消息框提示操作已成功完成。! {; W4 P8 A' u4 U3 _4 E(欢迎访问老王论坛:laowang.vip)

( x, G! J' w5 B( U$ x/ COption Explicit$ F* F8 T& l/ Y# r  h3 t" X(欢迎访问老王论坛:laowang.vip)

0 J8 _% M0 s4 ^' 获取当前目录的路径
% i; m5 ^9 ?4 v* MDim folderPath
' @5 X( ?; z9 r" K! F1 c8 ?folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")- L& m4 J% h+ `4 G+ ^+ ^(欢迎访问老王论坛:laowang.vip)
3 S' c+ c3 r$ m4 Q2 I(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)
. q/ h9 I+ e. B9 e; oDim newExtension0 V0 H3 M% F/ Z/ Y! P(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")  g4 r* j: t  R5 e8 n4 L7 a% |+ C) W(欢迎访问老王论坛:laowang.vip)

6 r0 A" U7 C8 w. H, z5 b' 如果用户取消了输入框,则退出脚本, z$ W  ~& O0 {3 b  F(欢迎访问老王论坛:laowang.vip)
If newExtension = "" Then
7 h1 |# |. p$ g7 v7 Q3 P% h    MsgBox "操作已取消。", vbInformation, "信息"9 r  D7 E2 M; b& b* C, O(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
6 X9 J" ?( V; p1 N( G1 ~, |End If
5 q- J0 s3 V5 A5 {% f5 W; X0 }0 c. d(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)
' d3 v8 E0 Y; S. ^If InStr(newExtension, ".") > 0 Then2 ^+ |( e# R7 z6 X: R(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
* o1 q+ O2 x9 b- |4 h7 F7 j$ d    WScript.Quit6 E; F, @* c& [+ @3 K/ g* A1 f(欢迎访问老王论坛:laowang.vip)
End If: p- u1 u  g/ I) X% o6 k: g(欢迎访问老王论坛:laowang.vip)
1 [9 m; t! c% W6 S/ U(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
" q7 n  l) J/ BDim fso, folder, subFolder. _6 h: \5 f' l& O9 A4 Y(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")2 R5 ]8 z. I4 m" j(欢迎访问老王论坛:laowang.vip)

' q7 ^! o% D! d7 A' F% ]$ s' 获取当前目录的 Folder 对象7 o' b  p2 Q( n(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)
- ~- Y& h( b0 [$ l& U: o5 f; ~& N
2 B3 u: ?' |3 Z: m0 z' 检查当前目录是否包含子目录: |+ w' }: U5 G4 o/ j6 w5 d(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders; x! Z+ g" Y( C. I(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
  {6 P& }) l4 S9 t3 Y$ Y" o5 {/ z/ s- J7 O(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件3 w9 U8 r' D. x(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders! V! ~0 y* y2 ^(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then
& p- v' Y0 `5 \    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")* t' y3 t+ F3 ?6 u& c: }(欢迎访问老王论坛:laowang.vip)
End If
' q# n& ^% L' m% ]+ x' u
7 o4 K/ F9 E) b6 ^8 I" `$ {& X' 处理当前目录中的所有文件* D5 f! O4 o8 f1 o- Z(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)
% _  Z" r% e, p2 r
- {( k7 Y& N: P4 `' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
& E# D" l: j" j% AIf hasSubFolders And modifySubFolders = vbYes Then
( m; r0 w' o, k  E) i* W; Y    For Each subFolder In folder.SubFolders7 R& r+ I! W. k' i: j. V7 S( M: }4 D(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)& |+ G# n; G2 l4 o. r2 }(欢迎访问老王论坛:laowang.vip)
    Next
9 o/ k# d* J9 R8 IEnd If
4 K0 f$ A- ~% ]8 ^! C
8 Q& Y9 O" S6 i9 Q# L3 o" v" g3 W' 提示用户操作完成
1 z% u: q. d- y; i) {MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成", J, d; Q+ G9 O% b+ x(欢迎访问老王论坛:laowang.vip)

5 _) ]$ y0 K7 z& ?$ O; k8 [' 处理指定目录中的文件的子程序/ q# `8 ?- x8 S% E6 _) B( z0 ?(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)
5 d+ r( S- X6 u' `" J- b    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
9 D& \: ^; D& w( [# @    Dim nameDict
" R: U# a3 g8 C% z. L, {# E
, l- f1 T! |# U, w" `! y1 o& H    ' 创建一个字典对象,用于存储当前目录内的文件名5 {: f0 k2 [2 n. H5 S& {- ?( L) B(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")
6 w( m1 e2 o* L+ Q; h
( y% c; V  o% ^5 d# x; u# f! I    ' 遍历指定目录下的所有文件2 r1 e& a2 Z' Y0 I(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files
. ?, x; W  |3 D/ M# U        ' 跳过后缀名为 .vbs 的文件& m, x9 v7 y" t# I. W. u(欢迎访问老王论坛:laowang.vip)
        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
  ^% ^" c8 A/ k6 n" g            ' 获取文件的旧名称、基础名称和当前后缀名  z8 e, O. J' F; A(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name
" M9 C: Q! U: Y            baseName = fso.GetBaseName(file)
4 f: R+ y8 y" ~/ b  t            currentExtension = LCase(fso.GetExtensionName(file))$ M  k2 I$ \2 [' v% _/ o(欢迎访问老王论坛:laowang.vip)
# K1 ]+ c) a3 A6 D2 _9 C2 ?(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名
8 Z! \$ q- \7 D            If currentExtension <> LCase(newExtension) Then* _# v% o( u) h+ k* v2 g0 c; b(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名# |) W8 d# Y! z- {) ^  {(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension
2 I6 V  f  g2 D
- G7 B% ]4 X, \* h6 n5 s' r$ |' [                ' 检查是否已有同名文件,如果有,则处理重名6 r: k3 I% y) W, f(欢迎访问老王论坛:laowang.vip)
                newFileName = newName
: a$ O- u/ B: L6 s                counter = 1
% j" |; I* |' X) B1 R! J* T0 Z! b                ' 确保新的文件名唯一' G: r3 Y2 w. w0 t( ]/ Z7 w(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
7 Y3 `  X0 i4 h" T* r6 a# l                    newFileName = baseName & "(" & counter & ")." & newExtension
6 h; z1 |- ?; M. W$ Z! J1 c4 \8 F                    counter = counter + 1
. s% O: x7 S9 b8 V                Wend+ u: P- b. |5 j( Z9 w8 y5 t(欢迎访问老王论坛:laowang.vip)

) j( D- V! p' U6 o  J                ' 记录新的文件名
) V/ F7 D: N5 [! X' m- @/ ~/ M( h" v                nameDict.Add newFileName, True0 T- N4 \( m+ \" r; a6 z(欢迎访问老王论坛:laowang.vip)
. l7 F/ L6 R, |& k/ v2 H(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件
* v) T6 H% I" `                file.Name = newFileName
& R+ `: F3 o5 W; x% {  J            End If1 ?# o. }; V0 F: Z(欢迎访问老王论坛:laowang.vip)
        End If& K/ m8 ^7 h: o5 _(欢迎访问老王论坛:laowang.vip)
    Next, M6 g  S3 _& w# N4 e& K(欢迎访问老王论坛:laowang.vip)
End Sub
7 H8 p$ v- ?) g7 N! ]: E# b) ]+ e/ K
2 G+ F0 v% q4 ?* G: \* ^) P+ U! i0 O( h4 `' d( ]- M3 t. B" L(欢迎访问老王论坛:laowang.vip)
( b- S2 T7 K3 f(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

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