加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):9 p! r& d+ |* x$ m) C. j- ]# R2 T9 f(欢迎访问老王论坛:laowang.vip)
, T3 J( J* Y+ J5 s( |. G& `(欢迎访问老王论坛:laowang.vip)

2 u; r; \& J4 R; K7 R* _) _; q& q+ `' 修改文件后缀名.vbs$ _5 \! h) T9 ^/ N: T3 G4 \. X(欢迎访问老王论坛:laowang.vip)
'
+ g% i% U" H1 r: U& H' 功能说明:! J) J/ g9 s) p( e/ R(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
4 ?7 C3 H0 J" @) _" k' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。8 p- O$ ]: s( ^1 f+ p(欢迎访问老王论坛:laowang.vip)
'
, @7 ]2 x% D7 p! P) y' 使用说明:) u$ @0 @+ @& W* g" F0 ~  _(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
/ U6 g) P, T) N" W: j' 2. 双击运行脚本或通过命令行运行。
+ W, ?' J3 G* d5 F5 Z' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
* S1 e7 T+ Z8 U; W  Q  S" C' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。# T2 H- ~: ]5 G* L8 i7 [* x(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。- I# J, O7 ~; [2 c8 r(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。' |) v/ D# b# s  t(欢迎访问老王论坛:laowang.vip)

- Y$ x2 c! h% R* n6 w' R5 E0 ?Option Explicit& z* a9 s9 b" \- S% e(欢迎访问老王论坛:laowang.vip)
; C9 d; d3 Q; H( @3 P5 B) J  K(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径2 h# a8 k* Z+ |7 y, ~/ {(欢迎访问老王论坛:laowang.vip)
Dim folderPath
5 ^. I- G1 L; p. p" C6 ffolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
& Z: Z' ], E9 D; C1 I% K
( f( G7 o, ]% I/ b4 D- e' 获取用户输入的新文件后缀名(不包含点). f$ N* v& x  E9 z(欢迎访问老王论坛:laowang.vip)
Dim newExtension
! k; I4 D$ q2 U- o; A# Y# R, w3 l' UnewExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名"): j- l% U% u- ]/ z* [(欢迎访问老王论坛:laowang.vip)

+ |: ^& O/ g  o& c7 m; |$ p' 如果用户取消了输入框,则退出脚本
8 h& s& s1 d! uIf newExtension = "" Then
6 L! S2 T+ E' j- w" R# N5 r    MsgBox "操作已取消。", vbInformation, "信息". w0 W# A9 ~$ E# W' A! w6 p% x(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
) ?3 U1 u7 O0 dEnd If( ^! N: D1 J  Q) ]. {(欢迎访问老王论坛:laowang.vip)

0 |0 l& L7 [! v* U, B8 M3 A' 确保新的后缀名不包含点(.)
  a$ ]9 O: ^+ E# ?+ [) ~/ M. c/ @If InStr(newExtension, ".") > 0 Then0 y: [/ k; H, e, C(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
8 u! s% s; u, z- x+ d$ H: J    WScript.Quit
5 ~+ E/ J, R8 y1 h3 t0 Y* bEnd If# g" Z  D  @7 _! g(欢迎访问老王论坛:laowang.vip)
# _1 w' x2 f4 h$ u5 q(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
1 r' [" n% c8 l! |! s. n" J2 N  b9 v7 y% SDim fso, folder, subFolder
8 _8 S6 P& S3 A* NSet fso = CreateObject("Scripting.FileSystemObject")( |5 h# U/ `+ C, E& b(欢迎访问老王论坛:laowang.vip)
* }& K3 l6 M/ z6 J% W' v(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象
* [8 e0 D, V+ C1 a; _4 F; kSet folder = fso.GetFolder(folderPath)& E# {8 ]4 s0 F$ g+ B(欢迎访问老王论坛:laowang.vip)

% u2 Q, J' i4 S$ U' 检查当前目录是否包含子目录7 `1 z$ M- U9 [8 ^(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders! o* l6 _3 H* F3 X+ M(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
/ C  z/ F! i) I! S
; f; W; t/ W$ z4 K; H$ ^) o5 h' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
! C4 W) x; |% j* |; b; C. x) ]Dim modifySubFolders* P6 _8 }) _8 a: l(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then8 r. o* S2 g  ?(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件"): w8 b5 w0 ~) V4 p; E  b% B(欢迎访问老王论坛:laowang.vip)
End If, R( ]1 i* x5 N) K(欢迎访问老王论坛:laowang.vip)
$ g, I( Y4 w) y5 h6 H  V) }(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件
. s* ?5 L! L) ^5 b6 b# aCall ProcessFiles(folder, newExtension)
9 u. F: g0 V- s, U  o
0 B0 z% `% A. |5 Q. b( t' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件) o* M" X! \9 C1 B$ m0 i0 h(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then
6 a' Z! p% E8 m/ V: @    For Each subFolder In folder.SubFolders9 T2 B2 b+ K$ C: n(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
4 |5 e; L" @/ ^4 j- V- F2 M- ?! F    Next( x6 D, v9 V8 N: g(欢迎访问老王论坛:laowang.vip)
End If
' G! t" V6 x* t6 x& _# `; d$ L0 A, U' M(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成' i, P( G3 l3 K  j  q6 |(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"& Y9 Y! Z  ~8 `% O(欢迎访问老王论坛:laowang.vip)
2 D& E, H  |$ Z# n(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序( o3 E3 S& z- x, t: t(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)* d0 [+ A5 R: N; y) r6 H! }(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter" h# z# x6 U; _6 w& X: D& |9 s) \8 A(欢迎访问老王论坛:laowang.vip)
    Dim nameDict, p& G: \& D( J0 I(欢迎访问老王论坛:laowang.vip)

, A9 Z. I6 T0 C& B/ `5 F& i    ' 创建一个字典对象,用于存储当前目录内的文件名
3 D9 h9 [6 a7 r    Set nameDict = CreateObject("Scripting.Dictionary")& U% Q% \8 T. A6 K(欢迎访问老王论坛:laowang.vip)
" a9 N$ N% y9 l% P& @# ^: p(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件
$ _9 P. `. Y& m+ P' w% W0 Q    For Each file In targetFolder.Files: X1 z! @- I0 `, L(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件! i, T! s, j4 H(欢迎访问老王论坛:laowang.vip)
        If LCase(fso.GetExtensionName(file)) <> "vbs" Then  e+ Y1 ~0 O9 a" G4 J(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名
0 r# r9 \. x7 e. t# `6 E! M" k            oldName = file.Name4 O6 [8 p3 q0 J  Z; Q# Q(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)
- d" j' \  A* o6 l% x            currentExtension = LCase(fso.GetExtensionName(file))+ i- x/ i, Y5 F1 k: _4 i(欢迎访问老王论坛:laowang.vip)
8 S- l- h/ r" ?" x* V(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名4 C. q! T/ Q# h% y  q3 }( n(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then  f% }5 Y7 E6 n; u+ x% }. L(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名
. m8 k3 z6 Z$ j8 s0 B                newName = baseName & "." & newExtension
1 b+ X5 c* S- z( K" Z3 @1 p  u, S3 d; i(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名1 K7 _8 k& W  {4 N+ H, c2 }- w(欢迎访问老王论坛:laowang.vip)
                newFileName = newName7 |" _# K; S" d8 s' l+ J(欢迎访问老王论坛:laowang.vip)
                counter = 1
/ c" W  u" T6 M% p* N                ' 确保新的文件名唯一. p. P) s: n. T(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
3 c& A( L+ _/ L: q1 ~. f                    newFileName = baseName & "(" & counter & ")." & newExtension
1 f- J# U) T2 ~9 ^8 Z, \- f9 p. Q                    counter = counter + 1, W( M$ m" S# J% x, C) N; g$ m(欢迎访问老王论坛:laowang.vip)
                Wend
) B2 r) D( y3 x! {4 O+ _
) q% `* ~2 |0 c( m$ y8 s/ w                ' 记录新的文件名+ I6 L5 G+ m9 M0 J  y- z( W(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True
  A+ \+ m; }% Q9 e
" h. _$ C2 J/ E( a# Z$ h' n                ' 重命名文件& Y/ F( H2 @  ?# J3 {- X(欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName& J) Z4 O1 k8 [(欢迎访问老王论坛:laowang.vip)
            End If
3 M% X' V1 E, L) J' p        End If2 d- P( u# t2 b6 t$ W2 w7 l(欢迎访问老王论坛:laowang.vip)
    Next
* i5 [' @5 N6 B5 ~. L+ bEnd Sub) L' p6 @! K( k1 [2 N" x  `(欢迎访问老王论坛:laowang.vip)
9 {- b9 C2 ]6 E( P* U; `1 c/ ]  f(欢迎访问老王论坛:laowang.vip)

3 O. h& f7 ^) B" c' H$ _( B7 O; [: W: `9 T$ [$ }0 H% X- i$ Q(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
/ l$ B( N% A6 w0 z" o' V  `
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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