加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
/ d8 G0 Y2 F! q: x) B) U4 r* g! ]6 o. g& z# I$ Q(欢迎访问老王论坛:laowang.vip)
; z+ s2 B# Y- |$ P(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs0 w8 ?+ x7 u, Y- V9 `; ?' J(欢迎访问老王论坛:laowang.vip)
'5 y/ V. X  L3 I; k(欢迎访问老王论坛:laowang.vip)
' 功能说明:
( a7 B* y. O/ C' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
5 @) i' h! N9 ^! B$ x% q' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。  c, ^: v- p2 j(欢迎访问老王论坛:laowang.vip)
'
8 W9 B+ r& f- o" {1 M1 Y1 n& r' 使用说明:
- N. V+ J" K% _: C, H. X. \' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。5 {6 \- M) w1 S7 U(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。! a6 O; s$ C- e+ \/ F# Z. F(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
4 }! R3 f- u# ^: @  |+ C' Y8 r' h' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。7 @% r) g, `: a# w(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
% ]' h6 }) n8 y6 b' 6. 完成后,脚本会弹出消息框提示操作已成功完成。* B2 @! j" K& ], g4 }(欢迎访问老王论坛:laowang.vip)

: c! R! k* o  K. QOption Explicit
6 p: v0 a2 d/ ]5 m+ }  E  ?
. N  x6 |' W9 E# @' 获取当前目录的路径
  j) C4 v* E- N3 a5 _2 G% p0 gDim folderPath) o! x# n- @9 l" Q# K+ i+ x(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")8 l# p+ n2 Y) _1 \(欢迎访问老王论坛:laowang.vip)

: R+ i( J8 {; u* l# o0 ^  g( Y' 获取用户输入的新文件后缀名(不包含点)
3 N% V  _6 k- ]Dim newExtension
/ U5 l. D" Z2 H# M- C8 XnewExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")) @0 @  K+ G& l/ \& I5 i: d0 S(欢迎访问老王论坛:laowang.vip)
% v( z( q+ y' `" ]2 e5 a  n(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本
8 V! `5 b! @- P( L' ~* _If newExtension = "" Then
3 v& n2 }! j* w, U    MsgBox "操作已取消。", vbInformation, "信息"
& A: Z3 _+ B+ k! e/ \+ h    WScript.Quit
2 k% }: d2 Z4 |End If7 U* [- C4 f: A# R& B; p! J(欢迎访问老王论坛:laowang.vip)

, K* \- T4 `+ E& Z4 ~, i( T) L/ j7 ~' 确保新的后缀名不包含点(.)+ F% h1 p; d/ G# ^(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then
# y, N4 E3 a! S6 I" y" |: x    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"3 O/ {: l% L7 v(欢迎访问老王论坛:laowang.vip)
    WScript.Quit2 P# P5 n9 w- }3 }. y: k(欢迎访问老王论坛:laowang.vip)
End If; w1 Q; W( O3 W0 n(欢迎访问老王论坛:laowang.vip)
7 e8 X0 o! \2 ~(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象" f  t6 M" D2 h6 z(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder* Q5 z) k7 x1 y( R(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")
4 H0 h# z: ~- k8 s! N2 l- w% ~(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象
; E5 {, j$ m  x! R! J  a' QSet folder = fso.GetFolder(folderPath)- F; o4 X3 K4 V+ y(欢迎访问老王论坛:laowang.vip)
! X& `1 I1 n( p/ b, u% a(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录2 a0 j: B: S1 @2 s* a) w+ X: J4 x(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders
# k' V& F8 X; e; k+ ~$ YhasSubFolders = folder.SubFolders.Count > 0  a  g; m! g1 c$ m6 D(欢迎访问老王论坛:laowang.vip)
0 Y8 P, `) Y6 [. W; V- e; N(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件7 J. ?. M8 f% E' S(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders& o4 N4 }6 k/ Z- C$ M) P/ m(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then0 A, A& i( e% p* G7 R8 H(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
# m5 p7 ~8 ^5 Q; I& ?$ |End If
# n# P% J% u0 O
  U% V* r' B; F; U, M- N, j2 c% W/ f' 处理当前目录中的所有文件, s0 F  g2 n; G' i4 G8 j# b* @(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)
8 R- T5 r7 w3 Y5 [" O
* @5 O5 L  X' @3 @: p6 {' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
  F- Q8 d: _4 h/ x: |# XIf hasSubFolders And modifySubFolders = vbYes Then$ O  t" M0 U! U# w& @4 e(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders
8 l$ Z0 }, X8 o% B$ F7 Z7 k! ?        Call ProcessFiles(subFolder, newExtension)
3 x/ a5 q2 c+ A5 Z( T    Next
9 F7 o) a* {8 b8 v5 Q2 X+ OEnd If
, C, ^% n  k( f2 g" d
) H5 |' g# {$ [' X$ L; \2 q' 提示用户操作完成. A$ q! e2 a: T6 c, q(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"7 G1 F- U2 V: s# K/ p0 U(欢迎访问老王论坛:laowang.vip)
  Q- P2 Q& L% b9 H- \(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序
# K* K% H/ o' d/ H% e: rSub ProcessFiles(targetFolder, newExtension)
& n5 u" e3 W8 U" L- k/ k+ u    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter" m: u. \1 r* o1 z, V+ Q: t4 Q+ |(欢迎访问老王论坛:laowang.vip)
    Dim nameDict0 f3 S0 e/ w/ ~3 X; a1 _/ c9 q(欢迎访问老王论坛:laowang.vip)
$ i* D# ]  Y" G* O6 z. o(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名$ o3 l8 w, @4 h$ R& v" S(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")& P1 X5 {( M: v& s) a: W0 P2 P: P(欢迎访问老王论坛:laowang.vip)
3 c% e$ R& B& x* \(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件
6 \, `2 P! E  I" C6 }3 K. |9 o    For Each file In targetFolder.Files
$ s/ ^0 v8 L! w! l2 X$ e        ' 跳过后缀名为 .vbs 的文件
3 l7 N; I/ w# ~3 t        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
3 \3 p( O& Z* h% R            ' 获取文件的旧名称、基础名称和当前后缀名
: O" U- y1 X2 n' d            oldName = file.Name
; U; y! x% ~1 d  Y9 |6 r% @: [            baseName = fso.GetBaseName(file)
) q& X# f& Q- |  x( {  S            currentExtension = LCase(fso.GetExtensionName(file))
) x. n% a) o/ Q. Q9 V" F9 F3 h) p: H# ?(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名
/ ^- e/ A( z, a3 o3 A1 W9 V: [            If currentExtension <> LCase(newExtension) Then
& f8 _, S3 C& g2 y                ' 创建新的文件名8 u/ I6 ~' q, s9 b3 G: V, q) K8 J) X6 n(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension
) N( B# E7 c, R. j( S$ F% D! g(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名
; l* {( a: U; v& K* v/ ]                newFileName = newName9 B; {* g( b+ e2 T/ _1 M, C(欢迎访问老王论坛:laowang.vip)
                counter = 1. ^  l6 S$ E6 a( q1 J# q" i. G(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一, f6 R6 @, l' L. U# ~# q(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
% z& ^4 M# ~- f) T7 }7 ?                    newFileName = baseName & "(" & counter & ")." & newExtension1 i* l! x* f2 H1 Q. j(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1/ {5 j1 G% B% W; i) a% F: z(欢迎访问老王论坛:laowang.vip)
                Wend% X- o2 p- y" H+ s) W(欢迎访问老王论坛:laowang.vip)
( P9 S2 x. `0 z+ R3 n(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名8 K$ Q- o, y4 ^$ C- O/ D/ z3 T(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True
+ C+ O. ?# i0 q$ n7 o+ @
- Q  j1 d4 I( m/ ]2 @+ ~3 T                ' 重命名文件
+ }& W6 G; Z1 R# Z                file.Name = newFileName3 c" k  _! X! C3 t. e(欢迎访问老王论坛:laowang.vip)
            End If
1 w2 x% Z5 D1 y$ G/ H) Q. L+ p        End If
7 m: v; `+ [* E; X; a4 z    Next' p1 f. w0 e) K) a8 W- h(欢迎访问老王论坛:laowang.vip)
End Sub1 B" H7 K+ X% |8 [; V2 z(欢迎访问老王论坛:laowang.vip)

7 a9 X9 |4 m7 Z6 y( q! y
" D! O/ ?  p0 x; U- W" o1 s, t% B8 w0 g) ?! p, V, T(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦* h2 s  B- [) X3 O+ I' R, \(欢迎访问老王论坛:laowang.vip)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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