加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):. @" w' I' a# S# _(欢迎访问老王论坛:laowang.vip)

1 e7 e& n# \1 b% @* C$ x
! V( m. @1 x6 v' 修改文件后缀名.vbs
0 R( S3 K; X  e'
5 q; l6 G* T: q7 v, j5 {' p' 功能说明:
! \; W" B8 M2 j; y# _# p7 V; t' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
- Y9 W% A" ?$ i+ Y7 T$ E- d' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
3 i+ i6 l  G, H4 q* Q'
* X/ b! H3 [. k. R/ E0 [2 \6 C& T' 使用说明:
3 y. c0 D4 r$ ]) x' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。( o! p  L8 W2 X4 g. `(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。+ w* P  O+ o8 t(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。8 O' L- Y3 b8 G- c( `(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
! Q9 e: o% p+ \- R* I" J' _* x' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。( S" I+ u- j4 o# J& Z3 c(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
. M: Y9 ^1 H, h6 ~$ e$ s4 N# O9 C) S$ R  C) k7 ]9 w5 L9 t(欢迎访问老王论坛:laowang.vip)
Option Explicit
, c$ P; I4 A. l
. n6 T% u# w7 ~  i/ s, E! X: g& n/ U' 获取当前目录的路径
/ @, d7 H: [" u5 C( gDim folderPath* N' K' B. V% l3 T% _" }" p(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")  g% n& N) `0 s, Q5 a(欢迎访问老王论坛:laowang.vip)

# F* Z/ _; ]8 S  l; V5 B8 ]4 l& f' 获取用户输入的新文件后缀名(不包含点)) q$ n% @# [# v* C9 E" c(欢迎访问老王论坛:laowang.vip)
Dim newExtension0 _; O  G0 t5 u5 i' ^(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
0 u8 X6 M8 }0 }3 j; I
3 K+ k1 o) b( z0 s* g! b' 如果用户取消了输入框,则退出脚本
) F7 X: j8 K) i8 r8 _4 }6 e, F+ uIf newExtension = "" Then# P: Z8 G6 G9 f$ q2 A! y3 k(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"
; x" g) F  z% h. P    WScript.Quit# ?2 M1 E3 S3 z6 R: j4 {(欢迎访问老王论坛:laowang.vip)
End If
2 }) N& r- ]  u; C. a* r. n6 E. X% G
" V6 X, M! K% R6 @1 N' 确保新的后缀名不包含点(.)
0 m1 q7 B: l3 c6 M8 BIf InStr(newExtension, ".") > 0 Then% D! I. w" D! ~3 I) C! n(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
% @- q. T2 _5 F8 s8 k; J    WScript.Quit
$ H3 `7 M7 D& NEnd If
/ i8 z/ @$ y( d) p1 X, @( T
* k, f' Y7 q& W! x1 U+ q' 创建 FileSystemObject 对象$ L% S6 d# {" X0 |! K- N/ Z(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder, o: ], ~- B# K  m- X) Q+ g( ^+ {5 V! C, A(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")3 h! W8 N5 q6 F6 a+ T9 N(欢迎访问老王论坛:laowang.vip)

4 M5 f7 I, Y$ d$ e6 K7 Y6 [8 o' 获取当前目录的 Folder 对象7 O/ A+ i* u9 f(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)
+ _) }6 P% j: ]* b/ y8 I) W  V, E/ g$ x+ j$ f; Y(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录
2 K) K% P8 m: F, C& }Dim hasSubFolders" i; P% G" v1 |2 Q  C% p4 x5 z(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0) f! w4 g& t& K2 m; Z7 A; T8 I5 f4 m(欢迎访问老王论坛:laowang.vip)

. }8 {( [9 B. v3 N6 R2 Q0 r' I+ c/ t' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件; E7 w6 P% L! p" n' C% y0 e(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders) y4 u) w! P4 ]& ?9 U! c0 N5 Y(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then0 u+ U0 `6 R( X. y1 ?% y4 r(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
6 U( B. f/ a7 X- n0 U5 dEnd If
7 E* c( U, |% U- L" G
7 ^! p2 {4 ]" C1 i' 处理当前目录中的所有文件! I& D$ j% W( V2 I2 m4 t9 ^- m8 P(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)
% L! x% \# T. x1 m0 Q( D. I
: D8 R! ]0 i, r6 ]/ v3 Z5 X' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
) C2 z9 j. t) }, B6 `. V9 AIf hasSubFolders And modifySubFolders = vbYes Then0 a* X) }5 ~: S' z8 F4 r(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders$ |2 ]$ _+ k4 o# R(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
+ l4 _, E' ^( V! P: m5 `/ o    Next
6 r8 i; ~3 P0 `- I1 }End If
0 i/ x  F1 S( r4 R8 P' ~* T2 a9 V5 [0 V5 j0 m5 @( V2 ]% V(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成
- e' B; R0 @% pMsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
2 Q7 j% y8 X7 _, E% B' j' d
: N- K. K: p; {4 b& D5 u4 I' 处理指定目录中的文件的子程序# n& H  w7 S: `9 y0 v(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)0 v# N& a7 `4 j, y* x2 e% g(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter; M& i. y8 v% a; C(欢迎访问老王论坛:laowang.vip)
    Dim nameDict* E! z) M  j8 I" `5 l# ^* ^/ {(欢迎访问老王论坛:laowang.vip)
% Y2 ]( W) I9 g+ n( w(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名5 G5 X5 B. d: I! L(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")3 P+ }& a! X+ I$ ?% h4 p. t5 p8 v(欢迎访问老王论坛:laowang.vip)

+ i4 @: c- f. B3 K! M0 s! }: r    ' 遍历指定目录下的所有文件
' H- E; \% m& f+ Q$ m' W, A6 m    For Each file In targetFolder.Files# Q) ?0 ]; a8 m$ _6 e(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件) R; Y2 Z: r! m& z8 R(欢迎访问老王论坛:laowang.vip)
        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
. F- k1 `5 K. q' V. R3 {            ' 获取文件的旧名称、基础名称和当前后缀名
# [7 p8 n! J! }! V            oldName = file.Name3 L& ^- j1 A8 p/ {  n6 F0 B) J5 _(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)1 \. Z0 p% h2 y, X" a(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))+ r$ Q" x! f7 v(欢迎访问老王论坛:laowang.vip)
7 B% a- G, B7 ~; _(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名2 j5 I0 z; w. J* Y0 [& }8 }1 p2 V(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then) e$ w0 t6 q3 ]: F0 q+ S+ T# W3 K(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名
9 G7 Z5 Y) Q9 Q, q) t3 T  J# D8 m                newName = baseName & "." & newExtension7 Y8 I0 Z( A+ S1 R(欢迎访问老王论坛:laowang.vip)

; {# k: M* H0 b% Q: h6 V0 R6 I( e) e/ _' @                ' 检查是否已有同名文件,如果有,则处理重名
# k" s0 f5 R$ ?) O( l* k- r                newFileName = newName
: }, x5 k% W/ ?$ b2 S; P/ z$ w- x                counter = 1
* ^1 c- M4 m. x5 N                ' 确保新的文件名唯一
7 e: C: x" ?4 }4 M; g; M" V, D                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)! R% f' |* g! `. F' O  h7 M(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension  ^2 \" Z9 V+ k1 S# d(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1( m4 s# }9 I7 J& g: x+ t9 }(欢迎访问老王论坛:laowang.vip)
                Wend
% a' u- K6 u) H; p
4 f$ E3 f3 Q3 d$ D                ' 记录新的文件名
. y3 _/ A, x4 B- i                nameDict.Add newFileName, True1 k6 T) m  r* Y' z* a" l+ F(欢迎访问老王论坛:laowang.vip)
: f4 [" [( ^  d, ]+ A& f(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件
9 P' e5 ^( Q/ I9 ~% G# S3 x3 u+ R                file.Name = newFileName/ @9 u, l: M, d& n" d(欢迎访问老王论坛:laowang.vip)
            End If
3 A# w6 t0 z9 P+ X1 X/ O8 B$ `        End If
; ]5 J! w( p- t: \( _5 F    Next
, d# H5 j3 P7 S! U1 H- `% v* C) wEnd Sub
' \5 T, L4 E3 P: B3 o
* J! s3 w2 q3 Z1 d# S# c* M8 L
. y- _7 e- A7 T" R; a$ J% d- P7 Q8 `0 O(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
" {, h+ J5 r) [3 J1 f; m' d- `: {
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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