加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):/ t  a/ I; X+ x8 W3 g! A4 L(欢迎访问老王论坛:laowang.vip)
, t4 _% r! `* d9 V* [. X6 D(欢迎访问老王论坛:laowang.vip)

( F$ C9 ~. o% O, u; F: `  e. ~' 修改文件后缀名.vbs1 s9 T. H8 K  p0 Y8 W(欢迎访问老王论坛:laowang.vip)
'9 j8 `' u( {) j4 T3 ^7 ~(欢迎访问老王论坛:laowang.vip)
' 功能说明:
; c5 I* d2 a+ d$ F' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 4 D* i+ c7 g0 v(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
6 D. T. M0 n/ m% u$ U% f'
2 G! C  u3 X: S! N' 使用说明:
; h% I' |6 i+ [) r, F$ [) Q% e' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
2 h1 a6 u5 W( J) I: H' 2. 双击运行脚本或通过命令行运行。) s, A5 C1 N+ s$ A1 ^) X(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
) X9 w+ ~6 e2 |4 ]  y' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。) [/ E$ a# P& ](欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
; C- Q3 ]8 p/ @2 Q' 6. 完成后,脚本会弹出消息框提示操作已成功完成。) L5 |( d# ^3 q0 K: N(欢迎访问老王论坛:laowang.vip)

* L  U$ E2 V$ ^( v! _; d0 wOption Explicit
0 S7 {# t0 F: P
' j$ _5 O7 a! y$ E. n# {. W, W' 获取当前目录的路径
$ U, x0 U) w7 Y, B/ PDim folderPath  m7 [  `. [8 X7 F5 A(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
8 {8 l% z; f: S- N4 w! a  C5 h6 h% q  _(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)4 i+ F' j  {7 W* r8 Q(欢迎访问老王论坛:laowang.vip)
Dim newExtension+ Y4 B+ w0 j- ]) M+ V) a- {(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
) l( ]; Y9 C+ j7 l3 \
9 r) ^& [! T& w0 X$ q' d' 如果用户取消了输入框,则退出脚本
- S& K0 B* w: W$ |# ^2 MIf newExtension = "" Then
9 e8 u3 W! r) g8 N% E2 t$ v. U1 a    MsgBox "操作已取消。", vbInformation, "信息"- Q5 j' h% `, j. _$ s" @(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
' T% F0 i  n6 _$ IEnd If! B' a) l7 B- Q8 q! @(欢迎访问老王论坛:laowang.vip)

+ S  S. y( g. J$ U5 P+ X: Z$ [& f' 确保新的后缀名不包含点(.)4 i7 G( {& h. I5 K3 D(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then& R7 X3 T; {0 u5 o/ f(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
. I4 V. |0 r; _2 Q% R) u    WScript.Quit
. [) f9 H8 A; WEnd If! b; d# F9 G1 @0 L& S4 A(欢迎访问老王论坛:laowang.vip)
7 p  G8 _8 D8 h  t3 M(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象' M- W% B( T2 S7 q. S, e& q1 c(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder
- n# D" W! h: a. ASet fso = CreateObject("Scripting.FileSystemObject")
! r6 M4 t# w! y2 j5 [. G
/ e, u5 E6 t; g5 D: m' 获取当前目录的 Folder 对象
, S4 L5 ?  L" t0 V; b! y$ LSet folder = fso.GetFolder(folderPath)
* c2 S5 D7 y# I$ [1 _' M$ E3 K9 w3 E. w  _0 s(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录
  j; J1 h# X' t  F1 \Dim hasSubFolders
  @& @8 n( g  x( x7 v4 ^hasSubFolders = folder.SubFolders.Count > 0
$ _  h* J, r% I5 |: X9 Y: i
0 j( K) x! [0 _3 M. H' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件+ U  r+ G7 R. ~  Q2 A% R(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders5 x0 `5 t, \( W0 Z) B(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then: @, K- b$ L0 G% P0 ~(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
+ X5 K1 A8 K5 p* `  u0 f4 b% QEnd If* a9 g  B- g5 o0 q8 ~9 i7 L(欢迎访问老王论坛:laowang.vip)
# C8 V! m/ n6 G  D3 G1 K(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件
- ^: C, g0 g% T% b" x5 FCall ProcessFiles(folder, newExtension), k$ i- S  Z: B/ n0 c(欢迎访问老王论坛:laowang.vip)
, d% k0 \2 X$ g- T8 J9 Y: J: ^(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
/ X: R/ J0 T5 X- P9 ~- a# k$ |If hasSubFolders And modifySubFolders = vbYes Then1 O4 x( \$ i) ^6 V(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders
( N1 a' k7 m& @; `8 u) C" G" ]        Call ProcessFiles(subFolder, newExtension)1 X. a: A: g& v. H$ M: Y. i(欢迎访问老王论坛:laowang.vip)
    Next6 f7 w" v. `9 Y# J8 \* d  H(欢迎访问老王论坛:laowang.vip)
End If  C4 M" |6 y9 p! {2 _* L( f(欢迎访问老王论坛:laowang.vip)

& O% A( E1 l" H2 y  g' t' 提示用户操作完成
# S! ~7 a' Z  }9 dMsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
* U$ `2 p" i( i8 H1 G8 ?& k# G. M; k5 b1 G) ~. y& v1 Q(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序
# G$ l, P8 n; w) CSub ProcessFiles(targetFolder, newExtension)0 V9 W2 T/ T( @1 ]4 |8 w: ?(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
1 `( [0 n  Y; V- i. ?& z+ q    Dim nameDict
6 \/ x- z! v0 E% |2 [1 p4 l4 N6 {9 S% Q, N; W+ Z(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名
. ]) E5 H* i1 Y& h+ T    Set nameDict = CreateObject("Scripting.Dictionary")7 F+ V: ^4 d- F7 {5 n(欢迎访问老王论坛:laowang.vip)

7 Z6 A5 @) o, t  Q) _    ' 遍历指定目录下的所有文件5 C  k. O' F/ S- X(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files, V2 c. z2 {8 O* {(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件  M5 ^5 L' F0 p, p(欢迎访问老王论坛:laowang.vip)
        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
' e/ v5 Q" ?( a# z9 V/ w$ [8 x6 B            ' 获取文件的旧名称、基础名称和当前后缀名4 V, T  c4 ?6 ^0 j) i(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name
$ T2 [: E' f1 h% _' Z            baseName = fso.GetBaseName(file)
4 `" R2 |9 i0 E8 M* Z/ ]- o& [# |            currentExtension = LCase(fso.GetExtensionName(file))
* U) i  `( h2 P: e) F  R
: C4 z! j" S" H3 P            ' 如果当前后缀名与新后缀名不同,则进行重命名
! k2 b1 U+ u( q* q: O1 c0 ?* [            If currentExtension <> LCase(newExtension) Then! K$ Y; i! ]# j% R6 F/ S(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名  ]- L" b1 S. b# H7 {(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension
* ^* B& C0 D2 j  k5 a8 y8 |0 S
( j( |4 [. S2 Z& `! K8 z  o( x$ [                ' 检查是否已有同名文件,如果有,则处理重名
/ T! k* n7 p, t  @: C! z                newFileName = newName* E( |- n. X+ j3 F3 A(欢迎访问老王论坛:laowang.vip)
                counter = 1/ _  J6 z3 y, m1 X) C(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一; B6 U' ]  c3 p- W3 E(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
$ u0 v& ^' @2 R  ?                    newFileName = baseName & "(" & counter & ")." & newExtension
; `/ ?* F4 s6 k" x5 E                    counter = counter + 1
8 f; B, w9 F' S6 q0 p, I' \9 b  w                Wend
4 B2 r& E2 b: B5 T
4 c/ k7 K4 T8 {! y* {                ' 记录新的文件名5 a6 W, }$ v! M(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True' h' Y7 u4 |) |6 |% |, x(欢迎访问老王论坛:laowang.vip)

: ^& z  N# m/ A. T1 k# D9 u                ' 重命名文件# w, K: K% S/ ~(欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName, D; j/ S. U4 |(欢迎访问老王论坛:laowang.vip)
            End If
, h9 n  |2 \* e- r1 g        End If$ `: `+ c4 m; f: ?(欢迎访问老王论坛:laowang.vip)
    Next
- L# }; \8 w  J! YEnd Sub
9 |& X1 @' @9 k% b+ D$ j2 t; g& d6 |" K# K# y(欢迎访问老王论坛:laowang.vip)

5 a5 M" D% n  V# \0 P
3 j7 T6 ~5 Q7 @' U% a5 i# Q" e
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

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