加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
! l5 @* f! G) i% ~0 Z9 c6 r* U8 g2 ~& ?6 k0 r! _0 ~(欢迎访问老王论坛:laowang.vip)

& {# q9 U( j, x9 _4 [5 E( x% a7 `' 修改文件后缀名.vbs
0 A" k' M) E: I, w2 b, O* b  n'
0 c" |  L  N  S+ O. a' 功能说明:3 R; f) p% H5 a(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 5 Y$ X8 e8 e1 E6 Q6 o(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
/ K: C' i+ A# V3 s2 }: m" h7 I'
( F1 {9 H; A; P# E5 H' 使用说明:2 o/ Y$ s5 ^0 t2 K  C( |(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。9 c: W' P2 A5 s/ q1 A(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。6 O2 U0 I! B8 r$ e$ g5 k(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
. ~4 r# k* J5 z* B6 ~7 X# @& m: L  Z' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
8 t, ]* {4 H' W3 C' \% ?- Y' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
+ g7 Y" z) w. ^* h$ e! }6 [0 @' 6. 完成后,脚本会弹出消息框提示操作已成功完成。% ]2 q* F% `  u(欢迎访问老王论坛:laowang.vip)

( H% k) a& l6 nOption Explicit0 B3 ?# _; b  {9 \4 N5 E(欢迎访问老王论坛:laowang.vip)
$ L) Z3 _0 P0 W7 p3 A5 v(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径
: D: ~. q! r0 i; MDim folderPath5 y. j! Z9 F' z& o' U0 L(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
) u4 F6 f  l2 F9 q) z, R9 g1 f& ~) i$ z/ E/ y2 v. J- k(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)
  X  P( l3 M$ y( a3 F# q( ?- uDim newExtension3 B& W; C' u! C- ]+ }' ?2 v, L% c(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
: `5 N7 C. z  A% O0 G! v+ f8 U- Q5 Z" c, x# K(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本
, g3 j1 z7 O8 VIf newExtension = "" Then
( o' l) h* i6 O' [" K* e    MsgBox "操作已取消。", vbInformation, "信息"1 L9 o7 T3 }- @1 T  u. z, Y(欢迎访问老王论坛:laowang.vip)
    WScript.Quit4 n) w" l0 T% F* T0 f- c(欢迎访问老王论坛:laowang.vip)
End If
5 n# P3 ?+ |- E" F" O, g% H5 o! Q
3 ?, E; J6 _' I; C' 确保新的后缀名不包含点(.)6 f5 H: f$ Q1 B0 p$ Q9 |5 \(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then
0 `, y& G, d# {/ {# ^- x- {    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"$ ]5 p( u8 @+ ?' S* C+ ](欢迎访问老王论坛:laowang.vip)
    WScript.Quit! M) Q4 a% R- c: k" f(欢迎访问老王论坛:laowang.vip)
End If  v' J0 `- l: K- a; W+ L& h+ l(欢迎访问老王论坛:laowang.vip)
9 W$ T2 c( O; N) ]; [(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象: L9 X: Y; W# Z+ i; B2 D(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder" c+ W) x8 L' X3 T(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")
# W6 j! a% Y  q3 Y
5 r) }0 |4 Q. C5 D' 获取当前目录的 Folder 对象! A  c0 l* B# x' x  U( k* I0 e8 ?(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath). j3 }+ d( x1 z  X(欢迎访问老王论坛:laowang.vip)
- F1 p& n! t0 S" X(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录
) l3 O. x2 K/ C' \' U# y, \$ o( ADim hasSubFolders
/ ^8 c, v9 m5 g, K% L8 q7 HhasSubFolders = folder.SubFolders.Count > 0
0 B- h* h. [5 i! `- H: H) p' P. V5 w
, r3 Z, C4 _/ @4 z3 @. M5 D' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件2 }& L! {8 o: x9 W3 P& l/ v(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders" |# t$ Q7 o' b. h& _(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then! J) f, r. `, ~" l/ w5 u3 ?$ F(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
; P9 n3 x' E. O! n: B1 iEnd If
( R' k  C, b0 ~4 ~
! h' e  V4 Q( J1 [' 处理当前目录中的所有文件
* s+ B; K+ O1 Q1 ~Call ProcessFiles(folder, newExtension)4 q6 E% U# o4 l( C* Y+ J, Z+ l  I(欢迎访问老王论坛:laowang.vip)

4 g0 C! I& l  B) W4 ]5 ^5 r' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件, f) v0 Q2 J; B(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then  \0 k, F6 S6 _(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders
7 w- l; A- J0 R& d+ R        Call ProcessFiles(subFolder, newExtension)" s; R. I$ _" b9 D+ y(欢迎访问老王论坛:laowang.vip)
    Next8 L$ h8 |3 J. A% h/ [(欢迎访问老王论坛:laowang.vip)
End If
# ^1 H/ h! w0 _: O0 s
1 }" E1 x% B0 Q- @' 提示用户操作完成
5 \5 K9 j# m+ {1 |! G% m9 v. hMsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
6 V/ w! w8 `" A! I' Q! I8 R% v: j
3 n9 _& N0 G4 F' V1 e' 处理指定目录中的文件的子程序. A1 e; O7 s; l. t8 k8 S! V(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)
( g3 T& r3 S1 U& H2 P* h    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter5 F  v9 n5 q# F  x' e* f6 q(欢迎访问老王论坛:laowang.vip)
    Dim nameDict3 t7 X: w5 e" w. t; `; A+ ~! z(欢迎访问老王论坛:laowang.vip)
1 Y4 _$ e+ N) @+ M* d- V. E(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名
) J) a' i1 T3 `+ u5 ^    Set nameDict = CreateObject("Scripting.Dictionary")6 X) p$ x2 q( T6 _' P1 o(欢迎访问老王论坛:laowang.vip)

. c4 z& e/ i9 w+ m' G- V: K    ' 遍历指定目录下的所有文件  d8 [6 ]. y) _. ~6 s(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files
' S/ ?% j$ z1 v$ h6 y1 Y$ m( m        ' 跳过后缀名为 .vbs 的文件. S: j, e+ y/ L) ], j(欢迎访问老王论坛:laowang.vip)
        If LCase(fso.GetExtensionName(file)) <> "vbs" Then" ]# H# A9 N( g+ c(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名, p  q9 E/ f1 e4 |(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name
  u9 n% P3 m$ l$ a6 @4 V* o+ v            baseName = fso.GetBaseName(file)& I1 p) c5 V/ G4 F(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))
* D3 @* k; X: W( k
/ r9 s3 z0 h" ^( N$ W" r/ J            ' 如果当前后缀名与新后缀名不同,则进行重命名5 w, j! t' S/ W# ^9 w9 w! V(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then
/ L. ^3 t5 {! G                ' 创建新的文件名
& ^  |- I- J9 a% F7 d: d                newName = baseName & "." & newExtension( Z3 ^1 w9 y: _9 |. w5 m+ n  L(欢迎访问老王论坛:laowang.vip)

7 P& T" _% ~5 o; d( u                ' 检查是否已有同名文件,如果有,则处理重名
; [* w+ X. n& u+ z' m, ?# J                newFileName = newName
/ ^& n6 I$ ^7 L0 }, Z7 m                counter = 1. Z4 Z& ~- ^" O(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一8 t! w8 l2 ~) C2 d(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
8 A- Q) ~% [0 D- g4 _                    newFileName = baseName & "(" & counter & ")." & newExtension
0 `' \4 n3 Z. T$ W# Z$ S; @4 j                    counter = counter + 1
# u; x1 E5 d4 F/ ~/ T                Wend
* Z  m7 M2 a9 Z) z
# w/ F6 H1 |, Z$ C                ' 记录新的文件名2 ^9 @/ ]: H; Q" g(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True3 X: K. n+ ?' e(欢迎访问老王论坛:laowang.vip)

9 Q3 g& Z8 D) P- ~: M                ' 重命名文件7 t8 C/ z# R% ^' j3 R. ]3 c& p" K8 b(欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName" {! T0 H: I- G8 @, i(欢迎访问老王论坛:laowang.vip)
            End If
4 {* c4 _- w- c8 Y) b* m' t6 t. Y        End If
% F+ V2 j/ t' F0 Y4 H    Next
" p7 ^; X# d- Z. J! ]- W: m# hEnd Sub# e. ?2 q8 Q! [* u$ K  K0 L(欢迎访问老王论坛:laowang.vip)
' U" }! N% p6 r- u! [* g- x(欢迎访问老王论坛:laowang.vip)
3 d+ _( R1 U; ~# h/ j+ {(欢迎访问老王论坛:laowang.vip)
" A; O" m: B# P  ]" [0 `3 R& [(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
+ U5 J' m; V$ n4 H$ u- \- _4 j5 I
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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