加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):% s% t, Z/ h) H7 q  a% H- d(欢迎访问老王论坛:laowang.vip)

* O) n. k, P$ i: t4 S5 H! a6 |8 k( y* ~(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs: v& L- |! \& l* l4 ~(欢迎访问老王论坛:laowang.vip)
'0 S7 [! ], ?7 M3 E2 t2 d1 v(欢迎访问老王论坛:laowang.vip)
' 功能说明:) J3 I  }/ T5 G% k% j8 i1 ?(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
) |0 r! Q: M& q" N) B) O  ]4 |( B' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。8 z* W9 j+ v$ E; U(欢迎访问老王论坛:laowang.vip)
'- [. `  }% A7 `; ^4 _7 U/ D(欢迎访问老王论坛:laowang.vip)
' 使用说明:1 k' p0 L6 t) b2 @(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
/ ^7 v0 E5 i0 ~- c8 ^" {! x7 [' 2. 双击运行脚本或通过命令行运行。4 C4 `" t) w# n) @0 I0 ^(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。0 C" [" e7 _. y; ^8 p(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
  N' S8 d' a* ?' k4 e9 y' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
' u# y# _0 m8 F3 ^4 p0 S( A. Y' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
; ?+ i3 X: X( l2 g2 c
8 J1 T3 J5 g! O# AOption Explicit
. L* v, ~* \2 j3 S' g2 _3 d2 y% E/ _; n1 m  Q9 D(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径0 C- |% s  G" j+ N(欢迎访问老王论坛:laowang.vip)
Dim folderPath- ]2 J$ y1 E! G(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
6 @6 i/ S4 J. u
3 g+ B( t, v9 R$ f' 获取用户输入的新文件后缀名(不包含点)2 k$ F* G: D% ~3 z: h( p  x(欢迎访问老王论坛:laowang.vip)
Dim newExtension4 b& y. @: l7 f2 i(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")% E# s; @# Y8 {9 m8 Z(欢迎访问老王论坛:laowang.vip)

3 q4 {# v0 @2 P+ L+ I% C# J' 如果用户取消了输入框,则退出脚本
8 R0 z) O0 k6 aIf newExtension = "" Then% K4 N. V2 X- c& H8 {+ }(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"
, V+ B1 I, k& |; L0 ~5 D4 b! L    WScript.Quit+ x% H7 a4 s0 u! p- z1 b3 s5 Y- K8 }(欢迎访问老王论坛:laowang.vip)
End If8 {; J7 b# Z! r" W; K0 _4 S(欢迎访问老王论坛:laowang.vip)

/ V! I" q0 _1 p! R* e' 确保新的后缀名不包含点(.)4 l8 n5 [% G2 a2 r(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then$ a5 M$ O, m6 p& W(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
1 U) j  O2 P8 w( U5 [7 H+ ~# ]% l    WScript.Quit. P7 o( C) y% ^, E(欢迎访问老王论坛:laowang.vip)
End If
4 Z/ r8 C( j0 ~9 e7 c1 A9 C4 X0 M* y8 ^& P! U& @(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
6 U% Q( X) i7 k, Z7 @Dim fso, folder, subFolder; w) g0 f. Z- @( n% O(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject"), G& S9 ?! Q+ Q$ T& M  V* {(欢迎访问老王论坛:laowang.vip)

' V2 O4 G& U+ q, i1 b' 获取当前目录的 Folder 对象0 C6 V+ X5 \9 |3 ?% p+ X(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)
) s$ H8 I& B* e1 f5 O& _8 S7 t7 ?(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录
4 Q: S* Q0 L$ d" p% |7 n1 d, v* g% lDim hasSubFolders4 p. L8 X" D+ D) C0 J# D(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0+ K& m* B) p1 H9 ~8 i1 o9 F. U(欢迎访问老王论坛:laowang.vip)

9 [; ~1 A3 b4 E8 J" B# X/ n' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
# W  C: G+ C, ODim modifySubFolders
7 \; y3 [& h, Z8 D/ pIf hasSubFolders Then0 E. x2 S+ ?1 o8 F(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
  R; j" u( e2 D& v* W2 F  c) GEnd If, p) m0 X6 k, C) y/ \5 F3 w(欢迎访问老王论坛:laowang.vip)

2 r3 v5 }, a" v6 w' 处理当前目录中的所有文件
9 S9 J. Y1 B3 J% X: aCall ProcessFiles(folder, newExtension)
* o3 @7 q. |' Q) j& F% O+ N! y5 }, {4 j" Y/ @/ V, E(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
1 ^0 c6 ]! R1 z- r  mIf hasSubFolders And modifySubFolders = vbYes Then8 G# L) O- D2 M(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders
, l" ^& L; `7 w& q$ R$ S: a        Call ProcessFiles(subFolder, newExtension)
+ j. G6 `; o# F+ u$ Z; ?    Next
0 h2 V. ?! ?2 _) kEnd If
& O4 S: Z: m% v/ }9 V2 z
4 K8 d5 B  y& }6 l' 提示用户操作完成: d+ @+ W/ ?3 l5 s6 J/ C" m(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
' P2 G& s3 w, ?% F8 s+ H2 {% N; W" z(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序
. }5 c" _1 k, U; ISub ProcessFiles(targetFolder, newExtension)1 x- E% z+ s) i8 r- c5 b(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
6 E5 O+ i) m4 P' \1 y  J    Dim nameDict
$ r4 Q9 D7 A9 j& {& o6 p& u9 E* k4 E$ r. E(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名1 ^% i( |+ a+ _0 C9 g9 M0 R2 m! F(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")3 x/ O2 Y: }) c4 G(欢迎访问老王论坛:laowang.vip)
& p0 Q9 H2 L& A+ O+ r- k3 t(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件
; i, X( y% j; v9 X; a2 ]    For Each file In targetFolder.Files" @  |: h" U2 R7 c! d(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件
+ O1 o/ m2 T! _+ j1 c. c9 W( E        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
) m0 o0 U  D: f' b+ Y9 v: T            ' 获取文件的旧名称、基础名称和当前后缀名
- D9 L, O0 c1 b0 N  h' ?0 f% G1 W3 p            oldName = file.Name
5 W% ]  m+ O0 w) T0 R7 Y            baseName = fso.GetBaseName(file)8 ]* b; n7 ]$ z  W(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))" b7 `  J6 h: `+ H' B(欢迎访问老王论坛:laowang.vip)
! |& a: Q7 N: {/ N6 M9 S# g(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名
  X: G  c+ y8 O3 w; Z" {4 n            If currentExtension <> LCase(newExtension) Then
8 k# h. w+ B4 n% f( {. e8 V6 d3 X                ' 创建新的文件名
8 h2 d8 `& j, ^  d                newName = baseName & "." & newExtension
  X# j1 y0 v1 k( ?" u& M5 e! K" {% m' ^(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名
  h- s& v/ m9 \! f8 E                newFileName = newName7 I2 _- t+ `' v( M& g* v& P! U4 Q(欢迎访问老王论坛:laowang.vip)
                counter = 1( B  k8 [2 U5 s. L4 n(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一
6 q  z% j  j9 W1 s                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName), B8 m( _% ~9 h$ E& y! |1 ~2 ~(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension0 q% j1 \6 o* K0 m  n% r& j7 b( N" Z(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 15 `$ n, u" ?# u0 c# u(欢迎访问老王论坛:laowang.vip)
                Wend
' B2 W! {9 j3 r3 m- i6 S4 R' Q& [7 O$ v(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名, Z2 F; S: B( t0 y" C/ Q# y(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True8 S. [3 h! `3 E- ]: x6 b(欢迎访问老王论坛:laowang.vip)
  U6 p: E5 |) @  b4 s( R' f; X(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件8 t7 ~$ p$ [- L. m+ I6 R3 a* `(欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName& S  c" U( K6 L' Q(欢迎访问老王论坛:laowang.vip)
            End If1 A8 `' k" i% D* n7 c0 x, K, Z(欢迎访问老王论坛:laowang.vip)
        End If2 Z  F; X' z" k# d, n5 p(欢迎访问老王论坛:laowang.vip)
    Next1 S! E, U# d1 G/ V. T(欢迎访问老王论坛:laowang.vip)
End Sub
/ w% ~5 |% i; C: a7 n  F
, d6 d  F; Y$ i0 o( b/ X9 y0 s; P% b( y(欢迎访问老王论坛:laowang.vip)

$ T5 T* C: h4 c- u
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

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