加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
% ]9 N- G7 q2 l9 j% z8 n0 \: Z5 a; `(欢迎访问老王论坛:laowang.vip)

0 B, z& N8 }' M7 x( R& x6 l' 修改文件后缀名.vbs3 Z; o1 m' M' U, L  c) v6 I# O' a(欢迎访问老王论坛:laowang.vip)
'
; Q  }5 H4 I$ Q* W5 P8 G' 功能说明:+ O' Q$ Y6 s7 Y; ?7 c(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
. Z3 F$ d3 w2 }& b' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
' g) J# Q" _- c" b( n6 c: e'
( L& U& l  b7 g$ r! g' 使用说明:
( V9 T1 W* v9 `' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。/ x. \$ q( d; w7 n(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。0 b% }* ^8 a4 x. Q(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。; X! X, D: }) L! R: c2 l. T( |! H(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。6 W$ |# `( C  q' |4 [6 Z+ [9 H! ^) e(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。/ B& Q  M+ o0 Z+ T# M# {& Z(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。& q' x1 H' b/ A+ F% [(欢迎访问老王论坛:laowang.vip)

! C7 {% l$ U; y$ rOption Explicit% c! M, o" y1 r, F$ f' k0 v(欢迎访问老王论坛:laowang.vip)

3 C+ E1 H2 i* b3 U4 s* |: _1 e  U' 获取当前目录的路径
: a; j% Q# j7 GDim folderPath5 t7 n( m5 Y( F0 x: q(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")- S5 M. u7 Y+ }2 [4 d/ L9 S. |" U(欢迎访问老王论坛:laowang.vip)

! ~) u7 {8 @8 f- \6 p' 获取用户输入的新文件后缀名(不包含点)) ?9 G2 v. l* }8 A  u(欢迎访问老王论坛:laowang.vip)
Dim newExtension' y2 f1 ]0 C$ g% e3 H5 V(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
  p* r7 {0 \/ R+ x0 C' M  T9 ?  S( L( S7 N0 {(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本
! t" W; `" {! {1 FIf newExtension = "" Then
0 Z' T2 s* K9 F/ ]9 {    MsgBox "操作已取消。", vbInformation, "信息"
2 |2 D& j( @+ v' p: Y2 e* G    WScript.Quit
- R5 b8 v2 t( N3 M& F4 {  U# s9 TEnd If
% t) W% w; L4 ~, M9 a' Z3 q
4 j6 y: {- t" r' 确保新的后缀名不包含点(.)% d8 d2 s' w, _  L3 b2 c' ^' k- s6 }6 r(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then
# n  B6 ^& p) p7 O" W: x    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"+ Q. \1 u; b* Q$ }(欢迎访问老王论坛:laowang.vip)
    WScript.Quit) Y6 I" Y7 d; T' x(欢迎访问老王论坛:laowang.vip)
End If1 S& l' e: B- @0 X. I; [(欢迎访问老王论坛:laowang.vip)
! o) Q, ^. n+ ~( V! [8 n1 [1 L(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象* \" t9 e" I  }, R) P; C(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder4 S9 r$ a' O/ C% z* \( V# O/ ](欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject"), P: k% x& b0 N8 g3 N4 f) `3 M* z/ z(欢迎访问老王论坛:laowang.vip)

, w3 X0 P. \& m' 获取当前目录的 Folder 对象
" z( d% r& J) `) oSet folder = fso.GetFolder(folderPath)- i( ?! c" O; i1 |/ T" Q(欢迎访问老王论坛:laowang.vip)
; k2 s& }7 ]% W6 t6 G  w(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录! q9 A$ Q$ {1 Y. U  v7 ?$ `(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders
7 M. W7 C, _; ]0 f8 W' e0 V6 hhasSubFolders = folder.SubFolders.Count > 0
9 g& n0 f2 a! C7 g' W
4 C  h) m; Q; T; C' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
* @- M$ O5 H' }Dim modifySubFolders
: E& k0 j4 ]3 }; Y' S; M' PIf hasSubFolders Then
+ o  _7 b( z# i/ v6 L5 s2 E7 u    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")" _7 l$ k3 g+ h5 x4 l6 T. G: s4 K  [(欢迎访问老王论坛:laowang.vip)
End If" n, H2 D& S8 }5 l) |. c  G) `(欢迎访问老王论坛:laowang.vip)

$ A/ |2 U+ n5 h/ `0 ~2 ^0 E' 处理当前目录中的所有文件
' \6 z2 a3 l5 ]0 E% YCall ProcessFiles(folder, newExtension): ?1 |$ ~6 A0 H8 f(欢迎访问老王论坛:laowang.vip)
7 c4 A, W) r5 f3 r- J4 a(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件' [8 y3 A$ k" X2 H5 Y(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then% ~; ?- P$ T1 s- T(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders
# h  S. ]+ S) g9 `4 }# f: `        Call ProcessFiles(subFolder, newExtension)
4 X- Y$ W- F, T9 `' C    Next
) g0 [8 m- [  k5 I1 S5 R" aEnd If
  J4 o. z* Y: k& Z* b3 R
5 H1 j: i; J$ j' 提示用户操作完成
% g+ j9 E- x& A; B4 P0 NMsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
1 o1 ]# B1 M) R# R1 U6 S9 P/ S
+ b5 E7 }4 d, j! b' 处理指定目录中的文件的子程序3 }6 r2 [  x1 J(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)0 s8 G. I3 P" q) \(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
. g) m1 w4 s/ K/ n# o' e! M    Dim nameDict( {8 ?  ^. C% C4 q/ p(欢迎访问老王论坛:laowang.vip)
, m  X) [1 u- k' W2 g(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名5 N8 S# R" C  A8 X  G, D0 J(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")
2 M) s: I* I* S9 ]/ i1 _
: U3 V+ c$ `3 E! ^  Z- G5 g; W    ' 遍历指定目录下的所有文件0 M: s: f5 h$ f3 P7 ?9 f(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files
. K" C# u5 J" R/ h9 V0 O6 o( l$ `        ' 跳过后缀名为 .vbs 的文件: k: c" J% J7 c8 f. S: ]4 r(欢迎访问老王论坛:laowang.vip)
        If LCase(fso.GetExtensionName(file)) <> "vbs" Then. U* R0 P3 v* L* [1 Q(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名9 A9 H6 j7 o6 [) ]7 w) I(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name! k, z( m# B  a! `(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)
1 |4 S' p& g9 n) x3 C+ t- a            currentExtension = LCase(fso.GetExtensionName(file))
# ~" v6 ~7 v% R! \# r  c% y- {' T% c- H! ~! H' w( Z. N(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名
8 t  |* B" x9 b            If currentExtension <> LCase(newExtension) Then% [: v0 s8 H2 |" E0 }% |(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名
* a% f0 o2 f' C) o                newName = baseName & "." & newExtension$ C" \* K4 q0 r(欢迎访问老王论坛:laowang.vip)
- T4 D% X9 N' k% ]& W  K) n(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名& o& J( e( }: l(欢迎访问老王论坛:laowang.vip)
                newFileName = newName2 k% e) n- J8 G, ~# y% O# S(欢迎访问老王论坛:laowang.vip)
                counter = 1
# `- U# w  [  R- A% I. n                ' 确保新的文件名唯一
3 |% r5 b, o$ P                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
# ]" g3 S8 W4 }# m                    newFileName = baseName & "(" & counter & ")." & newExtension  S& q* Y3 l+ j: m, \* ]3 _(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1" u9 F0 A7 i' u(欢迎访问老王论坛:laowang.vip)
                Wend
/ l  }0 B# F! ~, V# A, @8 ~& G, z" q& u; z, V4 J7 j(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名- @9 |$ S7 N% w' U(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True
/ q/ ~& Y0 O+ S) ~/ t1 ]8 p& {( e( Y1 f1 q+ \0 d  g* h(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件
3 g0 E0 t& r' ~. C6 W                file.Name = newFileName7 c( _) R5 V  x(欢迎访问老王论坛:laowang.vip)
            End If& Q0 i, l1 w4 C7 C2 v2 N(欢迎访问老王论坛:laowang.vip)
        End If
1 w, A& s  z  g    Next
: c7 {% |4 ?, A" `# \& f  L5 K, {End Sub8 O1 @& ]9 t. v5 Q1 g) w5 z(欢迎访问老王论坛:laowang.vip)
5 F2 w: `3 ^3 E# P) J* r$ U: Q# K(欢迎访问老王论坛:laowang.vip)
# Y/ r6 y. d6 w. b$ v9 v! N(欢迎访问老王论坛:laowang.vip)
* S3 q; _9 O; y& }6 h  m(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
1 t/ z: @6 J! t
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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