加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
& j) }  G/ }* w
( e8 ~# D! d+ s3 u
" S3 B, N5 A7 o1 q' w, M. t' 修改文件后缀名.vbs4 U) H  G3 Y/ ]" T2 ~1 B0 E$ w# [! n(欢迎访问老王论坛:laowang.vip)
'
) N7 a. n2 }; v' 功能说明:5 J' S  p1 b1 F* v, w% m0 J(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
8 O4 U  Q1 z9 G9 z8 b5 g% O' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。# \- |: K( ]- |(欢迎访问老王论坛:laowang.vip)
'
2 A$ }7 N4 G1 l  R0 [, Q7 P5 ^- {6 T' 使用说明:
; X; P1 i% d' B0 Q' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
  ~$ |& o% n9 P5 {4 E, D+ x' 2. 双击运行脚本或通过命令行运行。
; o; o3 t8 t+ I- r4 a' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。  }$ B: q8 ^$ `+ W3 p(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。5 I& G6 x3 J$ n2 w3 U: o(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。: x5 Z8 J% d4 x6 c/ t! o! W7 q: r' B(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
- D6 r$ k- v! p# D* V- ?2 Q$ y; B5 @3 h+ P" l# w(欢迎访问老王论坛:laowang.vip)
Option Explicit
) [7 |( W' }2 |1 f( d8 T/ Z0 m" S- b9 T7 l$ f(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径
5 N9 y3 n% [, C! dDim folderPath, N0 ?4 t6 }" G  p( |* }(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")0 Y5 i3 S( H- I(欢迎访问老王论坛:laowang.vip)

9 f  y- Q# J. ]: h' 获取用户输入的新文件后缀名(不包含点)  l6 n0 C7 `% Q. h7 N& P(欢迎访问老王论坛:laowang.vip)
Dim newExtension
% L- i+ p8 [, j& TnewExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
; h, r/ M8 N( c/ O: {% g  Z6 V1 P& ]/ F+ d2 x2 |8 T8 b/ S4 v% ~0 {/ P(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本
) R. j4 ?% w. s( w$ y; w% TIf newExtension = "" Then
' Z3 Y2 V$ j! t. {# T    MsgBox "操作已取消。", vbInformation, "信息"6 ?2 m; q* d9 H6 _% p; t2 {9 {) B(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
7 A/ G" G- k9 {. f5 r/ z& SEnd If
( b. ^; r: j4 a- X$ h9 s; g# S7 @3 a  q; i* t; c# r(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)
1 i7 |$ W+ h8 a* x0 i' uIf InStr(newExtension, ".") > 0 Then
2 P6 n$ N6 c+ @, A3 U5 o2 |    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"7 U( Y# F  @- w6 e7 {+ Z(欢迎访问老王论坛:laowang.vip)
    WScript.Quit2 ~+ r0 k+ e. B/ i& [(欢迎访问老王论坛:laowang.vip)
End If
& \1 q' O6 N: Z+ w; K4 I! N  S+ }& ]3 K" Q9 G1 D(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
0 {% }2 K' S" x# S( ~# ]Dim fso, folder, subFolder1 \5 e6 v, }1 C- n- U$ }(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")
: M- J9 A/ X+ v1 |7 t3 \/ B+ N7 B' ]9 k) M8 \(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象, ?% |- A( Y  }5 l2 w; R/ w* E(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)8 A6 I' J9 f/ V, N# ?4 @5 w(欢迎访问老王论坛:laowang.vip)

! o& B" J  X5 W$ [' 检查当前目录是否包含子目录
: e& P" S+ o8 }" Q! n: XDim hasSubFolders* i( v  D/ k+ N$ z  r: k5 A(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
/ i% o) A. D3 [. F* ]2 v3 m3 E' U+ f! p# ~7 R' p( `(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件8 R# ~1 H0 G# Y(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders
" }0 K+ ]  X& r1 k. c* y) X" GIf hasSubFolders Then
) ~9 `" y5 q4 p- t    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
- C1 {/ |  j4 I) Q1 g: PEnd If% u" F4 O  {! R6 f6 E! S5 O(欢迎访问老王论坛:laowang.vip)
0 F3 U. J$ g1 ?' \% o(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件7 d% l5 s6 ^/ o(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)
' h6 @" Y2 G0 N" x
4 R& S( i( U' L" }5 }! g- q1 `/ c' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
: b- y" e' _7 u: s# z# yIf hasSubFolders And modifySubFolders = vbYes Then- i8 d3 A& F- e/ m! R(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders6 O' r8 y7 f) O/ o- e0 b' Z8 H(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)2 z6 D- u% [+ k: i' i(欢迎访问老王论坛:laowang.vip)
    Next
# T8 O3 s! Z1 G6 n5 t0 ?, E) ^End If  k4 ~" l/ h+ _) C: b% _8 \% ^(欢迎访问老王论坛:laowang.vip)

  s6 ]" @$ Z! S# M2 j' 提示用户操作完成/ ~1 ?5 [' }' W7 d2 p* G: F(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
( H. i+ ?" x" R3 N
9 O5 B0 B0 e% p7 v' t6 x9 o+ i) z' 处理指定目录中的文件的子程序2 c4 K" L: H, X6 Z( Y(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)
! K# ~, n5 G; T/ D+ {7 A, j    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter8 X: w1 e# F$ B; \(欢迎访问老王论坛:laowang.vip)
    Dim nameDict1 Q6 v3 ?  M+ y- o' E(欢迎访问老王论坛:laowang.vip)

( @6 {" m2 c$ Q0 b+ v+ K* A1 v; R    ' 创建一个字典对象,用于存储当前目录内的文件名5 q! W5 W- u' }. G& H(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")
8 l/ |6 [: Z$ y! F+ I1 [$ ^) Q; r) h2 S+ q% O; F$ [4 i+ Z4 H/ F(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件; t% s0 A( k0 u3 H* _(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files1 W$ B$ i% `# ~  |% Q( Q(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件. W" y1 U$ a& E/ s& X(欢迎访问老王论坛:laowang.vip)
        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
4 s# t# }. Z# r+ k, p) Z: u            ' 获取文件的旧名称、基础名称和当前后缀名( X- F( u" r0 @' G# q: T(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name
2 F0 f8 o7 ~. j            baseName = fso.GetBaseName(file)
" {/ A5 Z; ], G            currentExtension = LCase(fso.GetExtensionName(file))# ]2 H: i7 C. N# E2 y. X% Q9 @! k(欢迎访问老王论坛:laowang.vip)

  R" {  E- H' W$ P4 ]# t            ' 如果当前后缀名与新后缀名不同,则进行重命名
6 |) s+ U% g9 }1 H; g            If currentExtension <> LCase(newExtension) Then! [) N7 p& b. d8 i4 Z(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名/ v) b: M3 z7 v- g+ v(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension
" V" K; {6 H6 s5 r4 r. b- ~* r1 [0 w9 g(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名( Q+ M) q+ y+ B: U. N(欢迎访问老王论坛:laowang.vip)
                newFileName = newName
8 ?6 g5 x3 M) {7 G                counter = 11 q5 V9 o, ]# i5 S& g8 Z3 F(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一
0 }9 v8 f1 V- `' k7 y6 k7 Z                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)% T. P" k' }4 ]8 J0 }" |* W(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension, T$ @' M5 q! T% D, s! |(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1
/ o/ l2 T( F- ~: ^                Wend
0 a% }) H* r3 G) n5 t, V) n3 R0 U& q/ V) y: G(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名  M+ T5 O* P3 w6 p(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True$ h% E& @- g1 ~$ F) a! I(欢迎访问老王论坛:laowang.vip)

% f& w* a0 l3 l# E                ' 重命名文件
/ i' Q( R0 @0 Q, |4 n6 ]( ]" [                file.Name = newFileName
+ g. P9 {" r2 P: m1 w& H            End If
$ Q9 T" t" a- `  L* o# G        End If
6 d7 i: w$ q3 q& g& Q  ?' Y" [    Next# e* ]9 K( N: C( K(欢迎访问老王论坛:laowang.vip)
End Sub
$ v9 ^0 p/ [0 |
" }0 n: y/ s2 |) q6 @' ?2 M4 k  Y" Q- d/ G1 a8 n& e8 n(欢迎访问老王论坛:laowang.vip)

% n  m$ g; u9 T5 ^9 e2 b& G
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦* m: G9 b' @# k4 B5 T) B0 w2 i(欢迎访问老王论坛:laowang.vip)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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