加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
3 Z0 @) \3 C& J4 O9 G, e- D- q/ J0 y! W% J4 W(欢迎访问老王论坛:laowang.vip)

7 J: {/ W/ P# }) E4 i- n' 修改文件后缀名.vbs' H9 u% F/ Q4 h7 U# d(欢迎访问老王论坛:laowang.vip)
') `6 h! |0 J, q1 n/ L* I( p9 r(欢迎访问老王论坛:laowang.vip)
' 功能说明:
4 H. z4 |% v# y: z7 T9 m4 ~5 z$ L' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
! M2 f$ `  I6 t) z" R' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
# Y5 u' M6 L/ f; Y! l& a: [& g4 @'
* N' j5 E6 U; b4 H5 Z0 P' 使用说明:  r3 ?4 d2 |& B& E/ Q( U7 Q(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。+ x) s" h" w- ?5 {3 n) T(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。# ]7 H  Z" \. {4 M9 L2 l& s* T6 y( e(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。: D7 u% f' ?& k; j# x& o(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
$ u% [7 s; [3 k- z' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。  i7 q# [7 k- t( f% z(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
( P3 e' L) Q; R, A+ ~9 f5 Z
0 |7 v/ q+ G7 o" fOption Explicit) Q3 {/ o* s  R7 G7 Y(欢迎访问老王论坛:laowang.vip)

# W% w+ K( u2 W! p6 x  t2 p( M' 获取当前目录的路径
1 W+ A# w* X( F2 a/ M8 N- dDim folderPath
) y, |' M! C( `8 S1 i0 efolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
/ b  v/ ^/ t& u$ K0 F8 f
+ p/ M. y; m7 `- f8 X7 j% @' 获取用户输入的新文件后缀名(不包含点), w- E0 p0 Z. X6 j(欢迎访问老王论坛:laowang.vip)
Dim newExtension
! I' ?5 g0 q/ J9 D6 Z6 G/ Q! jnewExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")$ G; q4 _- g! T( r(欢迎访问老王论坛:laowang.vip)

5 w* b) O. b. |- B% f' 如果用户取消了输入框,则退出脚本
; h& h: O# M. g2 d0 HIf newExtension = "" Then
4 {, Q3 e$ R0 J  N6 y% ~    MsgBox "操作已取消。", vbInformation, "信息"
$ \1 P! b% p2 g/ z$ a$ Y7 h# u    WScript.Quit) @" {" \7 b5 [% Z: i. K- \. ^6 a9 R(欢迎访问老王论坛:laowang.vip)
End If
9 U& G9 E$ @9 q) S
1 v  Z5 D4 Z' ?' 确保新的后缀名不包含点(.); c. v. [0 w8 H+ V2 k6 q(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then& _; L. [; @; @7 X% U% p$ q(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"- ~1 i; K9 J( e# z(欢迎访问老王论坛:laowang.vip)
    WScript.Quit, ^, u% j" N9 T1 ^. V/ c( Z5 J(欢迎访问老王论坛:laowang.vip)
End If
" {$ L: v: U  h. _0 x
; Z7 {0 Y1 `$ R. F$ k' 创建 FileSystemObject 对象/ p- b+ u/ }4 {' \; J0 H" [(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder: L6 m) s6 w$ t& o  ?+ m(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")  {6 W, j& V6 N- E/ w(欢迎访问老王论坛:laowang.vip)

+ e0 k2 r, ^6 \# V' H1 k' 获取当前目录的 Folder 对象% H# T8 `0 I$ S' W( V(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath). o$ y4 z4 _. J3 S+ H1 a(欢迎访问老王论坛:laowang.vip)
+ B8 _6 g6 c0 I$ x0 N(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录
/ ^: H# L9 }6 O: GDim hasSubFolders3 C0 Z3 y  l. X' f! Q(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 06 b& n$ D* D7 W5 R8 o; t(欢迎访问老王论坛:laowang.vip)
! D; s1 ]7 _; `% d( g, H  \* U(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件/ q2 s5 k5 }9 K0 L(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders
" N3 V/ q; Z$ i3 @, i) {8 AIf hasSubFolders Then8 A; Y, u/ t. q(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
9 A6 t8 T) T& x, p1 H2 h. DEnd If! g0 @3 E! q6 S  d7 u(欢迎访问老王论坛:laowang.vip)

& {8 Y, u" j; i' 处理当前目录中的所有文件
  m" e% l1 V* {  _Call ProcessFiles(folder, newExtension)7 G* @9 f" e# L4 b( d(欢迎访问老王论坛:laowang.vip)

0 N1 a) |: h0 h3 I1 ~' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件/ W! Y$ I  c! r$ U5 w* ^( M7 `6 q(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then
0 E' y" Y% J1 t$ q2 d8 d7 B) u    For Each subFolder In folder.SubFolders
$ l" L+ ?# `2 V) f' o- f        Call ProcessFiles(subFolder, newExtension)
- Z, G% H2 }# Y" L. v$ f    Next
# i: L2 X# I6 ]( f4 S5 k5 `End If. m2 j# U& h1 t(欢迎访问老王论坛:laowang.vip)

! ^& u! b: v% g/ u/ G/ d/ w' 提示用户操作完成
9 o& u. }4 I+ D* c" l, vMsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"" ~, H7 F" g& [(欢迎访问老王论坛:laowang.vip)
' d& h- Y( ^- f(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序
" u( G  J' m+ V8 aSub ProcessFiles(targetFolder, newExtension)
, A4 H1 Q$ H  J: P    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter! \" P, s* k: K) Q$ f' c(欢迎访问老王论坛:laowang.vip)
    Dim nameDict' V1 g1 a  x! v8 k6 X7 {# d" R(欢迎访问老王论坛:laowang.vip)
5 T( g" r* k$ N6 w, S: k% B(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名
' S, W! r7 b# z& t  l$ R& J    Set nameDict = CreateObject("Scripting.Dictionary")* }+ {3 S, ?5 [(欢迎访问老王论坛:laowang.vip)
6 U( I! m# D, `1 i- |: A(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件. U* }( w2 c4 p4 Z& [(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files
$ D/ z2 G5 x" u4 @; z( f        ' 跳过后缀名为 .vbs 的文件
! E2 L! k% e4 }) H        If LCase(fso.GetExtensionName(file)) <> "vbs" Then$ Z* _9 _4 a; C8 J(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名
% \& m, V: G: b# Z            oldName = file.Name
/ j+ l& p) V0 \) N+ u            baseName = fso.GetBaseName(file)
. q/ w, p* A2 N! r0 m' \7 k            currentExtension = LCase(fso.GetExtensionName(file)). Q9 F' d2 U8 l: q% ?(欢迎访问老王论坛:laowang.vip)
) G  K8 s6 ?  V9 h! k' z# a; @(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名8 a; c& @* ]1 f6 j7 L5 i5 o(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then( i- l  Q% P/ A, `: z(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名
  l* n/ W1 Q3 g0 c+ }                newName = baseName & "." & newExtension
, H4 h, U6 }3 c* ^4 j1 F, J/ L, C+ l# p(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名
2 N# c& q% l* W- Y' k. ?1 R! B5 I                newFileName = newName
+ `: w0 Q7 p- {# x9 y8 I                counter = 12 U& b  i& J2 ]/ i/ c9 z% |, h& @9 c(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一0 L+ O% u# u" k7 k6 ^9 l& k(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)" r" v! w$ w4 `/ [+ X  N6 H2 V(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension
5 N! g6 w0 H9 ~8 X% _# K" z# k                    counter = counter + 1
3 y0 n) {; f( M' K7 j8 z                Wend  q5 I. D, M+ v: _. D(欢迎访问老王论坛:laowang.vip)

# ?2 D" i8 U# m$ e2 J5 i  F2 r3 p1 f# A                ' 记录新的文件名
% N& [1 o# S2 X# j5 N4 j/ C; j( `                nameDict.Add newFileName, True
9 c( r' t( Q& I% |( o9 Z! A' I+ I0 }(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件
/ u+ |+ a: p0 ]                file.Name = newFileName' U- S' h& s% b* \(欢迎访问老王论坛:laowang.vip)
            End If4 \/ i% X2 l, Z. R) b( g# X, H(欢迎访问老王论坛:laowang.vip)
        End If
/ O6 i; N6 x# I- \# O" F' _    Next: E4 Q9 @- q+ s(欢迎访问老王论坛:laowang.vip)
End Sub9 ?$ g( g& J" V# i& {* H! w(欢迎访问老王论坛:laowang.vip)
. h9 b6 t' n! O! h4 c3 \. ](欢迎访问老王论坛:laowang.vip)
2 I! `; D/ Q! U- {, p2 N(欢迎访问老王论坛:laowang.vip)

; i" e/ F6 z/ v# U  b
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

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