加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):* ?/ }- C  f$ [) G8 r" I# H: f(欢迎访问老王论坛:laowang.vip)

( J" h/ o* H* T; w
( C! J& `. I2 ?2 i9 H5 X, [# ?' 修改文件后缀名.vbs
7 S* v2 M' Q' {4 P5 ^6 I/ t, @', K4 n( K9 }) L9 z(欢迎访问老王论坛:laowang.vip)
' 功能说明:# a/ g6 c9 g2 n0 w/ |' {(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
7 F3 m9 v3 V- p0 [8 r: B2 _' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。- c5 y+ o3 ?( S(欢迎访问老王论坛:laowang.vip)
'
: [! e% C  i9 }0 u9 S* Q' 使用说明:
& g9 c- T; t9 C: C- @/ J) g' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
6 y, m+ i0 B2 H/ T- E  z' 2. 双击运行脚本或通过命令行运行。
, o: m8 u3 ]9 g* h4 d9 A; ]8 G  n+ N5 b' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
; r+ P# D- e# ~1 a& {' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。+ }) H; ~& y# X  N- \, y(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。" e1 G# m8 D% S1 E(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。" D. L$ |  T) C: m% Q. |(欢迎访问老王论坛:laowang.vip)
7 }% T9 r; _2 |# S& }* T(欢迎访问老王论坛:laowang.vip)
Option Explicit
0 p$ q. `1 T$ ~0 c7 H* {6 R4 B1 C7 }- y3 I9 p(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径  D9 G3 ]& s3 h& q(欢迎访问老王论坛:laowang.vip)
Dim folderPath
4 h" w3 X3 i, K% g- Q4 h$ e+ pfolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")5 m' _) t# |7 D8 U% \6 i3 i(欢迎访问老王论坛:laowang.vip)
4 \7 x$ D2 M* {; {0 A(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)
# k; g2 G. f* ODim newExtension& ?  Z1 l( n3 `, k( p(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")9 @/ E0 A7 A( s3 a(欢迎访问老王论坛:laowang.vip)
) ]2 v9 J- m& D& L(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本$ w" c" r; w' M. j4 Z(欢迎访问老王论坛:laowang.vip)
If newExtension = "" Then' d% Y+ e' P$ n% K$ @% v(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"
+ Y/ S2 g4 ^8 o    WScript.Quit
: u2 w& e  @8 _0 F* cEnd If
0 O3 S. S' ^2 }7 T
- E6 R* D% c. ]! F' 确保新的后缀名不包含点(.)7 ~! a+ N2 H: S! S(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then2 d: n1 T6 j. Z+ C5 R! b1 u(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"# \2 x* l0 l: u3 _( i  p% O0 ~/ H(欢迎访问老王论坛:laowang.vip)
    WScript.Quit& U6 ?$ e. \6 G(欢迎访问老王论坛:laowang.vip)
End If
! v8 K' v! B. `+ j4 r) F$ t0 \7 M: b( _(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
5 n; S, w: b& [Dim fso, folder, subFolder% k( L* ~' {4 ]/ N(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")
# p' W  c. Z: F/ Y& }8 f
0 v+ |7 M  [- G7 O, c7 {/ o" P' 获取当前目录的 Folder 对象9 O0 L. v, b% l/ F- B(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)
$ J3 _# ?! r( o: f- n: v; O+ W9 x5 {5 \! F* F( B(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录
/ ?5 A' X# w1 N! PDim hasSubFolders% Z% u) k. Q- `% k! S! c8 p  c(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0" m% z& E. G) _; S" p(欢迎访问老王论坛:laowang.vip)

3 _" x% Y4 b6 p& H4 i' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
. O6 t: z* x! U% [' ]0 {& L: k5 ZDim modifySubFolders
& M1 \  b, W  X! h& t1 k0 ~' MIf hasSubFolders Then) |: k2 a/ E) B+ t. Q3 \3 s1 z" a(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
/ U! Q1 n2 k: v! J6 b: |5 C  xEnd If
! u5 h$ z$ G) p* G# W4 h9 i% P& e7 v' k) |(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件  \3 `( O2 ~1 p5 C(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)5 V4 w7 [, y/ V& }! [2 j5 Q(欢迎访问老王论坛:laowang.vip)

9 q# n7 ^# {& d4 l& _' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
1 @$ c" N% l8 y+ a9 T" ?5 {# P* lIf hasSubFolders And modifySubFolders = vbYes Then: `5 z" \0 W. {/ m(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders$ @7 b/ A( N% i5 ^1 L# ?, }2 |(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
- k6 R  Q6 D( L* {$ _5 c& a0 _    Next/ c2 z6 T8 L6 \% d(欢迎访问老王论坛:laowang.vip)
End If
- n. W+ [, r5 ]: o5 o! Z  a6 R: n, \( c# u- F  I+ v" B2 T(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成
4 J$ v/ G! [2 l* {4 y5 NMsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"% u& {; v& s: c# \(欢迎访问老王论坛:laowang.vip)

1 O1 ~8 Y' P+ X$ ?4 T# s, E  Q) F6 S' 处理指定目录中的文件的子程序
: k% a8 }7 ]4 X+ g; e  r; \Sub ProcessFiles(targetFolder, newExtension)
7 U* V! m; v- `: A    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter/ v3 }2 O! r" m3 i% [9 J( X(欢迎访问老王论坛:laowang.vip)
    Dim nameDict' |& B) G) b$ i1 u(欢迎访问老王论坛:laowang.vip)

$ V# F/ y% w$ @. v1 L) d    ' 创建一个字典对象,用于存储当前目录内的文件名
1 e% ^  X4 q* c" J. ]& a    Set nameDict = CreateObject("Scripting.Dictionary"): Q- |0 I7 l% {1 {! V7 t(欢迎访问老王论坛:laowang.vip)

/ c- m) g, V9 E1 S/ g    ' 遍历指定目录下的所有文件
$ r, z$ X$ x+ O1 m    For Each file In targetFolder.Files
/ u4 G* t  H- q. V6 B" |' v        ' 跳过后缀名为 .vbs 的文件
8 q; m8 H1 J& W" a% ~+ {& v1 n        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
7 }1 O" {4 W% t. H            ' 获取文件的旧名称、基础名称和当前后缀名
& w, O: k# r1 y5 A            oldName = file.Name
! s  p1 y) P+ I; x9 M6 T3 C1 J            baseName = fso.GetBaseName(file)
& O$ j- P: r' M* B" G/ T            currentExtension = LCase(fso.GetExtensionName(file))! [  U' C5 q7 o" z# e(欢迎访问老王论坛:laowang.vip)

( y: W5 r, ]2 Y# g            ' 如果当前后缀名与新后缀名不同,则进行重命名& w6 a; I, q; n( w( G1 `(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then
1 }1 w& G, ]1 g3 w' F3 n                ' 创建新的文件名
" ^4 D2 B* z# q& d+ k                newName = baseName & "." & newExtension
! @; X% e& I: a
5 S; V9 M5 M# f' f! [7 a! w' o, Q                ' 检查是否已有同名文件,如果有,则处理重名5 @# o5 ~/ C% z4 q(欢迎访问老王论坛:laowang.vip)
                newFileName = newName
5 [% S; K0 ~+ I/ E: V; h8 Z: K) ]                counter = 1+ G4 ?( x5 U6 Q, G- y% P- p0 \9 f6 L(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一
4 h6 n7 T3 y6 O8 F& Q( A                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)/ l5 g( ?& j& ]7 p8 Q& j(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension
  L/ T; G$ b, x                    counter = counter + 1
' j# ]; o6 u4 ?: n0 B, a6 k                Wend
) D6 j) G+ L7 d9 I# D5 a7 Z0 Y0 U0 O/ a(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名& p/ \9 l- |/ |9 P$ @( b. H(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True+ m; Q' _: f; \4 A(欢迎访问老王论坛:laowang.vip)

- C5 W2 I. @9 x3 H4 v                ' 重命名文件! O- p- _+ o3 V  v; v* }6 V6 f3 H" v5 H(欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName# B* x2 G! {- i6 m! T7 G(欢迎访问老王论坛:laowang.vip)
            End If
: Q/ I. C1 g, k3 h        End If
/ G* Y7 w/ s, c; T  b+ U/ _* Y    Next# B! M  o$ C  E5 Q5 q(欢迎访问老王论坛:laowang.vip)
End Sub+ h0 w4 A* x2 R(欢迎访问老王论坛:laowang.vip)

9 c6 v! d5 U. p# j2 J
. n5 o: p# M* {6 R% v# {9 r" S( v* j" e! V8 k6 i2 h(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

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