加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):- Z* R, h! J* L- L5 P2 L3 S/ n3 D0 F(欢迎访问老王论坛:laowang.vip)

: O" ~' s8 t/ Y1 X6 G: A
1 t; j6 _# j9 J4 t+ Y/ ^/ ?. d' 修改文件后缀名.vbs
+ s+ B- `6 ^/ m$ q'
" H$ ~% X& U! o, y' 功能说明:" M5 V: O9 U% E& L6 d. i(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 2 F: X% i2 V5 r2 V(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
+ o' i2 a: m/ g9 ^: |- T0 `'
3 Y( S. r) j; R$ I; v. \5 L' 使用说明:
# Q% i1 u: k" ]6 C% x. K! V' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
2 O1 e) j7 Y* g1 p8 C$ c, |% @' 2. 双击运行脚本或通过命令行运行。
1 M8 x" d& R3 x  ^- `% F' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。$ Y8 V6 \7 N, `" b8 N& U(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
9 V) h; V" x1 ~6 x' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。) M6 M  w4 Z* A! \$ l8 g% f(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。6 f3 y" B+ H$ ~% `9 b+ B& L- _0 @(欢迎访问老王论坛:laowang.vip)

( K  T2 Z! A' oOption Explicit7 a9 t6 K, E  u/ Q% {7 D(欢迎访问老王论坛:laowang.vip)

" S: ?/ c* M) b, o% Z( x' 获取当前目录的路径) s7 R$ [# n% a. K& ?& s. w7 Z3 o(欢迎访问老王论坛:laowang.vip)
Dim folderPath4 n) V8 o3 j; ]6 l9 _: q(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")7 m6 n- M" r" W$ d; \, F; N(欢迎访问老王论坛:laowang.vip)
9 Q7 e/ R8 o! N0 z% Q(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)
- n0 {7 |' n3 H; @' t, L: ~& QDim newExtension1 \6 s' @  c( J, |: u5 z* H(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")5 [8 Z" c1 ~* |(欢迎访问老王论坛:laowang.vip)
& }* P9 P- r6 k+ C: ~(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本2 @4 j( V8 w- i0 X4 i' S(欢迎访问老王论坛:laowang.vip)
If newExtension = "" Then
+ i7 i5 V1 t+ Q2 l    MsgBox "操作已取消。", vbInformation, "信息"( q  K* {/ p2 L9 A6 g5 @(欢迎访问老王论坛:laowang.vip)
    WScript.Quit; x9 a8 x3 k1 z% O  ~2 K! H3 w(欢迎访问老王论坛:laowang.vip)
End If
" e4 ]8 ^5 i1 d7 S' A0 I$ W; l) J; G* e1 B(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)
7 B; |) E5 V; h( c  [3 }If InStr(newExtension, ".") > 0 Then
& c0 ?- m6 _6 C7 t    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
) [5 V, ^8 F' @6 C    WScript.Quit
+ o* }9 U8 i. E" x$ E+ w9 u/ [, DEnd If
" \: [& p6 T7 X; X% h' N+ z+ t/ n% V1 @# g0 s(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
& J8 I- c& O; z% y4 \Dim fso, folder, subFolder
( n* |; B; d* ]# u- I9 I+ F% J* N! aSet fso = CreateObject("Scripting.FileSystemObject")
+ V* t4 `7 }* L2 Q! n: N5 d5 M/ ]# ^  F% r3 B(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象2 e, g4 T- u2 F( x1 G(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)0 P4 {0 }% d! c4 x(欢迎访问老王论坛:laowang.vip)

3 B8 J% _/ {% c8 v/ [- w' 检查当前目录是否包含子目录
6 Q6 d7 H4 {3 s3 l" A, I  YDim hasSubFolders
% y( _4 s* s* Z* b: ahasSubFolders = folder.SubFolders.Count > 0
; p. z/ O/ P0 Z, w4 C6 v# v& q& T+ Y, o, t- H(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件9 p) j1 U0 {: T7 F' J9 j(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders* Y7 Q9 E3 M4 i(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then
1 j+ B' k- j/ p, r" ~/ A    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
0 a4 W- O: f3 }4 V( S8 |End If
( Y+ }6 `! U  Y' V( D; _3 K9 F3 u3 t, F1 |(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件3 c1 Q6 W* \* A9 b" Q(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)
8 P* U2 _1 ~+ b4 ?
, Y' p6 c" S9 H4 V9 u1 k/ G' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
$ @2 N+ S8 H0 K% R- Z& @If hasSubFolders And modifySubFolders = vbYes Then
* v3 e. S% D# D0 \7 X    For Each subFolder In folder.SubFolders# X) t( O% j  |+ |, [6 c% H(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)# }9 T; Q1 F! q# K(欢迎访问老王论坛:laowang.vip)
    Next+ K/ c' S. z  }4 ?5 k(欢迎访问老王论坛:laowang.vip)
End If
: q+ O% `9 w7 z* }& E& t" X5 N+ ?6 x7 u1 q  g1 z) O$ \(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成
4 o) _+ ~+ v+ c% w7 ]- FMsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"' B2 v, u, D. K) @(欢迎访问老王论坛:laowang.vip)

4 g5 q+ l4 d8 [: Q8 _' 处理指定目录中的文件的子程序  G- h0 b3 F# ](欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)
: r/ e1 D5 k7 o2 `    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter, r  `+ W" t0 A  N(欢迎访问老王论坛:laowang.vip)
    Dim nameDict
$ l# R% O) I& w/ D: w
/ ~* {2 B( r! _4 P    ' 创建一个字典对象,用于存储当前目录内的文件名
' R+ t( o" u7 k+ c% G; M    Set nameDict = CreateObject("Scripting.Dictionary")' q6 G: h9 F1 i& G7 S* z" t& R(欢迎访问老王论坛:laowang.vip)

. ~3 V" b( Q4 Y/ L    ' 遍历指定目录下的所有文件
; s' V/ T3 z5 Y    For Each file In targetFolder.Files
! q8 n7 ?8 _$ q' M* a        ' 跳过后缀名为 .vbs 的文件5 S3 f/ R4 G" |5 e' X9 c(欢迎访问老王论坛:laowang.vip)
        If LCase(fso.GetExtensionName(file)) <> "vbs" Then/ b) n; h# D) n9 t9 H. I1 i(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名8 i/ Y2 }) H& D/ h1 _(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name* m. ~5 d6 }1 w" ^& I! O(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file): N, y; e) P' U3 a6 Q, G$ n( E(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))
& Z; x/ `  A9 h9 {# c6 o$ |4 W1 Q6 s- a4 k3 G6 ~(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名
. w9 S- E4 h7 N1 B7 D            If currentExtension <> LCase(newExtension) Then
( d# n* v& K) y- d- x7 J) X                ' 创建新的文件名
$ M# @! b. A" s. R8 i: k) c                newName = baseName & "." & newExtension
# Q/ p! I0 e  q8 ]
: ]! w7 n3 u& T+ O( {6 B                ' 检查是否已有同名文件,如果有,则处理重名% o0 k3 U% W" \7 l) e! w: h(欢迎访问老王论坛:laowang.vip)
                newFileName = newName# b! `# F# T* C9 J. d9 u- w(欢迎访问老王论坛:laowang.vip)
                counter = 1% M. j7 @# e& o* A6 Y6 l! |" E% ?(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一; Y" Y( _6 z0 H* ^(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
" `# a& h8 g4 B  a1 V( i: ]: H                    newFileName = baseName & "(" & counter & ")." & newExtension1 v1 }* |& k! W(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1
  r  r1 b1 r$ i& Z" L                Wend: Y" Z3 V0 x: p) _(欢迎访问老王论坛:laowang.vip)
- `. ]7 }' d5 H# n! @(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名
2 _4 d4 g! a) f7 E+ S( r: V                nameDict.Add newFileName, True
% |2 O6 M5 s" s7 [! a0 j9 D5 F' X- I( O$ u(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件9 L4 ^3 M" X3 w( V6 G: K(欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName  v5 k5 r8 m- J  H% |(欢迎访问老王论坛:laowang.vip)
            End If
, S3 S; ]2 l' V9 G! K) Y% h; \        End If
( W- E1 ~5 f4 n    Next
" S+ L, F7 s  J- I! r/ q6 |End Sub
2 r$ `* G0 l3 C$ _6 G8 J8 ~1 k8 M" O( H6 f' C: ~1 l/ [) T7 d(欢迎访问老王论坛:laowang.vip)
8 j+ j3 x! c" X0 B(欢迎访问老王论坛:laowang.vip)
2 j& m' S& H- }+ `+ K(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
8 C- }8 h; Y. o# V  {0 A( N2 ?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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