加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
6 Y1 ?8 t' s+ R* B* o  v# u
# c' W( R# D" Y. ~3 u% i& y! {: ~9 M; ?(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs
: i8 F3 d1 m4 J' c/ A7 ]'
2 |/ ?+ x* A5 R, L3 A0 E: ]/ O' 功能说明:
: m8 ]/ n3 B+ I+ C. A' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 9 \: p! |# P3 K! R$ H: h# D(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
4 t  H8 }) V, y* T/ d' p'
0 F0 a. H% k1 s5 M; k% q' 使用说明:: s+ o' T) N3 F6 z- U7 c! x( K(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
1 H. i3 l8 X3 E. ^, f' 2. 双击运行脚本或通过命令行运行。
3 a7 y' r( Q, M; S4 b  G2 c  h' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。, @8 e+ r/ J% F2 s  B; Y+ p! i(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。% q8 I7 e8 b+ j* n- M7 ~/ c8 Z(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
  Z0 [* _0 @  W# {+ \2 k# o' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
3 x( ?' p9 p. u3 Q( D- u) Q2 J8 t& ^; x(欢迎访问老王论坛:laowang.vip)
Option Explicit
+ z& B4 N7 [7 @# Z1 g- k& ^
: D, M1 S/ `' U* P* `  j' 获取当前目录的路径" p5 M8 I& s! @- I(欢迎访问老王论坛:laowang.vip)
Dim folderPath
4 ?6 j  A. N5 z& h) dfolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")2 b. s4 T8 s, I6 @4 N% e(欢迎访问老王论坛:laowang.vip)
1 Y9 g5 }; {+ U- D(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)
& K$ j9 k/ [4 }9 R% T* N/ B$ }1 `Dim newExtension
/ d+ q3 f! O8 \newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
- @: v0 _" g& H; T6 ]8 c/ b+ |0 r; A3 g4 z! I& ?(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本! z3 V  |1 S- z% j4 ?) U- v( a- j% d(欢迎访问老王论坛:laowang.vip)
If newExtension = "" Then
( e1 U1 O9 T6 B9 ?    MsgBox "操作已取消。", vbInformation, "信息"
5 e3 B0 Z/ F! E1 |" X5 A    WScript.Quit
  O3 a$ V, y9 n% M8 _End If; n+ D" h! {& ^. e7 q(欢迎访问老王论坛:laowang.vip)

# V! Z. R8 F. q4 R# ~. h0 b7 |( K' 确保新的后缀名不包含点(.)1 t$ b/ _! B# d9 O7 B* N, P1 E(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then
  j/ Z" E7 {1 J1 y6 k. o    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
7 {* I# q$ X8 F! i    WScript.Quit
; G+ o" H& J6 X6 r4 nEnd If
  h- G6 m0 h4 U+ G# A& C
( @* d, H" Z" g' 创建 FileSystemObject 对象
9 T8 P# O' x- wDim fso, folder, subFolder' y6 q9 B/ m2 Q/ ^3 }(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")
+ H/ q' ^( I% ?$ L5 O6 k9 ^4 O4 A
+ l' a1 m1 @* i1 M1 \7 i' 获取当前目录的 Folder 对象
/ p8 J0 _, n. I' LSet folder = fso.GetFolder(folderPath)* N- H* o, L0 o' y  ?3 v(欢迎访问老王论坛:laowang.vip)
2 R$ h. Y- t& m' O( g  R: L(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录, z+ R3 V3 \! W; _0 _(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders; |8 T4 c7 ~. O5 Q4 p7 w( y(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
% G. }8 J. q; j0 Q0 Q" I. y
- Q2 |+ c7 N7 f3 B( c5 x3 T' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
* R4 y9 O9 b4 O1 c7 {- CDim modifySubFolders
1 R, u4 L0 t: @& D4 E/ K( AIf hasSubFolders Then
1 I7 @% ^. V. a/ S' b) g% u    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
" F9 @# S$ Z8 LEnd If
% d, P9 v1 Y9 `* {& M
+ I+ I! q2 z3 i' f) o' 处理当前目录中的所有文件' ?+ {/ I3 v* Y' ~! e. |0 f3 r(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)' \2 G$ |3 h* g9 P9 [4 x! _(欢迎访问老王论坛:laowang.vip)
8 G4 |- y; E/ L% p6 S0 e( \& @(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件, x7 \3 d( ?# _) s- z7 X- F(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then
% m5 e  y5 v1 O' e0 A/ l0 Q    For Each subFolder In folder.SubFolders
( k* h4 K! x) U. @& B        Call ProcessFiles(subFolder, newExtension)
, Z) A% u: m* K/ ?8 I% y1 T1 M    Next
2 H, A4 O; I& w# T# A1 U) pEnd If$ r3 `6 s* ~" D$ b9 a(欢迎访问老王论坛:laowang.vip)
. g, w( k# c8 J0 |' y* r8 [(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成
1 [" ]" v% q8 M, D0 OMsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
- ~) ~0 W3 f2 ]' a7 S
3 O" Z3 q5 U' A' 处理指定目录中的文件的子程序! ~3 X; j- c1 d+ u4 {3 V(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)
; d4 b0 x: |8 W: A$ D    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
# A. D/ S$ |$ O; Z% W* r0 P    Dim nameDict: u- Q7 G8 z( N+ H(欢迎访问老王论坛:laowang.vip)

8 B" `) F; z! A2 o! w1 T% o    ' 创建一个字典对象,用于存储当前目录内的文件名$ f( u) {' {9 A0 W9 O(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")" G$ @0 [: [8 H$ b5 X4 q% C6 q(欢迎访问老王论坛:laowang.vip)

# a* J( y; T/ ~" s    ' 遍历指定目录下的所有文件
) U( a- s! o$ _9 o8 b    For Each file In targetFolder.Files2 A# W% }8 s/ g( @; t* @" e( S5 \6 |4 [(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件
' ~1 x! G# {! L3 W+ g9 r& e8 p$ U        If LCase(fso.GetExtensionName(file)) <> "vbs" Then( J$ J& \1 _! A3 [% m2 I. g8 R(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名- Q) z8 U4 K' t2 @# o. ^3 o(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name
4 K! w! a- D. i  O" p8 l. ?            baseName = fso.GetBaseName(file)
+ |, R- E& Z' ^            currentExtension = LCase(fso.GetExtensionName(file))
7 }8 h3 E+ p& \3 N7 M7 u  x# S; g* H: y3 Y(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名" r3 b& z4 ^0 \5 I4 P2 s(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then8 M) n: ]5 P" X7 d" g" `(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名+ p# C  P/ p- }, Y8 `( y2 x(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension0 O- \! E+ L3 I, Q" h! C(欢迎访问老王论坛:laowang.vip)
8 p5 s9 ~% Y7 ~2 a5 A1 |! c2 v) Q(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名2 Q- S; I* P+ _- Y6 F3 S/ |(欢迎访问老王论坛:laowang.vip)
                newFileName = newName6 s  B3 q: G6 P' @4 a% U  [(欢迎访问老王论坛:laowang.vip)
                counter = 1! m5 L/ E* n% v. u) d(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一4 g. T- _3 O* p* E* o* B6 Q(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)- n8 E+ F0 g9 W7 r. h(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension
6 g' \! i5 O% r4 a8 Q8 Z                    counter = counter + 1
7 ]& P# x/ o$ W8 S% v- C                Wend# d: a$ D4 _: a, V  _(欢迎访问老王论坛:laowang.vip)

; S/ x0 w8 m  E( w                ' 记录新的文件名
, [% k" T# }" z; i& C4 X                nameDict.Add newFileName, True
6 o4 L3 E: f& c5 _! ]% T8 H+ g. E  X, g& B" l3 q+ y(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件
; K0 V0 Q! v  C. w                file.Name = newFileName
1 @. \, V. l/ F- V$ B( ?: n            End If5 A  B' c+ p" _4 m3 N7 b(欢迎访问老王论坛:laowang.vip)
        End If
! }7 I8 W. b2 V! q( [7 w; m    Next
/ c, ^7 k, G, G" ^End Sub
% p! h% h6 n3 {, X9 B' v1 G  G! |0 {% O/ T( _: f, z(欢迎访问老王论坛:laowang.vip)

0 Y- O/ M/ W3 U; q" C+ k( O
3 Z, N5 G; {( o& [8 R* R
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦, A$ G7 `1 `/ I5 ^/ n(欢迎访问老王论坛:laowang.vip)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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