加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
# R& C7 d+ L. \  M3 {1 S; t+ @' d4 `- n, m. X(欢迎访问老王论坛:laowang.vip)

) D/ n8 a  F# `9 ^+ Q' 修改文件后缀名.vbs
8 a$ Y+ F7 A% C. v; t: ~'0 T7 Q5 h5 Q' T0 j# E& j(欢迎访问老王论坛:laowang.vip)
' 功能说明:
' A6 J; s9 g, t, B' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
+ c& W9 U0 M) x8 C8 K1 ^' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。& U6 c! t( z# w1 d+ l(欢迎访问老王论坛:laowang.vip)
'% @! g9 o4 h0 `: f(欢迎访问老王论坛:laowang.vip)
' 使用说明:) U7 e8 z3 f* F; S; k" j- {7 `(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
0 i2 `! j1 m1 P* F' 2. 双击运行脚本或通过命令行运行。& p" x& l8 F2 k(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
; K2 M3 c- M7 E, b$ t+ J' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
6 i0 ^7 C1 J$ D4 l- m: c5 u! w' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
! W& E- Y4 W3 Q0 P7 b8 W' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
" W+ W5 p4 r' h$ ^, L9 `
6 L% F) f- l8 k( z: @6 _: d5 i* L1 ~Option Explicit
, q( V: C) ]( k' h' A1 k. y5 |! c. ?' u
7 i2 y% ^, \' X; E7 I' ?0 X. _' 获取当前目录的路径
0 K, k7 A+ L' NDim folderPath
% |$ x( ~8 }( G4 m* bfolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")) H; N1 m: t7 @  z) C9 j! M8 X(欢迎访问老王论坛:laowang.vip)
$ ]+ |0 E6 T* K/ b! t$ g(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)- `" @2 e+ R4 B4 z  ?* ~3 Q(欢迎访问老王论坛:laowang.vip)
Dim newExtension( y  c7 z+ x, Z) r' k(欢迎访问老王论坛:laowang.vip)
newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
" G# V9 v) Q/ F% p9 K8 b# T) w* \' p9 C" x(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本
2 ]; \" K$ Q- F" n! oIf newExtension = "" Then
# F0 d$ n, H$ ^9 g! N" e: R    MsgBox "操作已取消。", vbInformation, "信息"
+ |" M! Z: F& a+ X" u    WScript.Quit
; p/ T' x1 b6 K% F0 V7 c- iEnd If$ t% s  }' t% N; ]  ?% g3 j(欢迎访问老王论坛:laowang.vip)

7 b( a' V8 |4 Z/ P. p' 确保新的后缀名不包含点(.). \6 P! N! D' F& K(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then
- o' {* T8 j2 Z* }; k    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
* J5 p4 V( b3 t% k, R    WScript.Quit
/ a/ z# B; r7 _* kEnd If7 `7 S$ V+ ^% U( G(欢迎访问老王论坛:laowang.vip)

" Q+ u6 Y: C& Z7 R. J' 创建 FileSystemObject 对象( j8 c; w7 q. B) I4 q: v(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder. @& O, ^5 v8 L/ S: @. _(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")2 X4 D  S/ h/ l& j: y0 \# y8 Q+ |(欢迎访问老王论坛:laowang.vip)
" a3 T3 y: y! X" \& {& ]% J2 C! x(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象& F0 m$ z. v+ b+ L" G5 S1 M( |/ R8 }, h0 ?(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)
8 H: S! i- g2 f' T( Y
8 Y0 X% }6 c" S% K' 检查当前目录是否包含子目录9 |9 j4 p$ w" U. S. n(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders
% b: K! u; {. I7 ^hasSubFolders = folder.SubFolders.Count > 0
" V3 z4 A7 T; V- S! W. G! g& d( n0 |+ c2 X7 V! o. y(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件3 O3 {! g7 q3 R(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders
* ]3 r5 U. X" S& D$ n+ u% A+ [. TIf hasSubFolders Then
: n/ v9 l* y$ ]8 w+ p0 x1 n+ Q2 R    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
5 @7 u0 _# r) C: [+ W) qEnd If
4 z* ^7 j" C2 }( [7 W5 m% }0 `! X1 X(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件! \% O- ~: u1 r0 o(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)
+ b7 K; O8 v6 N  M2 W# U+ s' \) {& Q0 k0 B% b' P  Z(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件  m' N% |1 _4 v% r& `(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then# j/ l, n+ R0 @9 R" t$ X7 {(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders) m  T5 e$ Z: h/ p" o(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension); c5 e) Q3 x) T' C( L- ?(欢迎访问老王论坛:laowang.vip)
    Next
8 @' i6 K; w0 z2 N  n, T! M4 ]7 ?End If* R: q9 V2 \6 J0 [3 f( u(欢迎访问老王论坛:laowang.vip)

4 O; L* T" |- C& o8 x' n8 J1 k( l' 提示用户操作完成) K4 F6 F1 e8 @3 \- Q, c2 _5 @- h(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
) k$ ]2 \. z! w8 H# A' u, W" f, P" Q' y6 O+ G# k(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序
% t& `: n2 p+ l4 ZSub ProcessFiles(targetFolder, newExtension)
2 A% c  @( ]5 V2 k8 S    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter) i( p2 K" H* z(欢迎访问老王论坛:laowang.vip)
    Dim nameDict
/ K. {- a. o3 X' A/ ]: N3 g8 O
) J! G% q9 F3 R( r    ' 创建一个字典对象,用于存储当前目录内的文件名
; S: C4 L" Q) h$ S5 W% L    Set nameDict = CreateObject("Scripting.Dictionary")& y, o3 Q2 F' j+ a& E/ F(欢迎访问老王论坛:laowang.vip)

0 u# S% X% Y' u, Y7 ^; u    ' 遍历指定目录下的所有文件. ^' @6 N3 g" L0 ]! ]% d# ~(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files, S; G( c# q2 @7 j1 |1 g/ O(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件
4 z5 A1 p: C) o9 m! `        If LCase(fso.GetExtensionName(file)) <> "vbs" Then/ o2 U9 ]2 J" U* H8 P4 o( C(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名" }: `4 v/ U! B) B(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name. G" v9 x! ^7 V(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)2 g0 W4 m, k+ M7 s(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))
7 k; P5 |$ b! A- J
5 f- W& X6 M0 C( \            ' 如果当前后缀名与新后缀名不同,则进行重命名
; {) K' w4 x; q2 }/ L, }( R( G            If currentExtension <> LCase(newExtension) Then( Q, E3 Q# B& H0 c3 x7 q' ~(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名! m0 T; g' }- Q3 h( r(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension
( M5 }  }4 q* {# ]0 r- D  R  ~" o. t
. ?% X2 F. E) {9 W  a0 l" p                ' 检查是否已有同名文件,如果有,则处理重名
) U9 }7 E# z" t8 E0 O% }                newFileName = newName$ ^$ u( b) L% p9 e(欢迎访问老王论坛:laowang.vip)
                counter = 1; u! ^, X# z% S$ O# T' p8 ?% U(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一3 C& G# o8 h: Y- l) L(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)" J7 H6 f  F) b& \% z(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension
) K8 f8 R  M0 W! j5 z7 Y) W                    counter = counter + 17 B2 i" }( T. Q" W(欢迎访问老王论坛:laowang.vip)
                Wend/ [  M% |8 ?/ X2 ]7 _(欢迎访问老王论坛:laowang.vip)
' ]7 @; m) ]* e. [  N6 [* g& t(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名9 m& j0 h% s. S" Y4 z& I1 H(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True7 ^( z2 l) \" R(欢迎访问老王论坛:laowang.vip)
6 R/ b; V6 ?4 L" s4 M3 A5 D(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件* N  ]8 U+ a) z0 D(欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName
: t7 T& H/ C. w            End If
' q2 f: f, B1 q' C( V        End If
8 D' q% z& G/ A  {& O: \, b    Next
7 w) n' E% {5 K% L% \6 b; x% lEnd Sub+ H) p- c& F8 M5 w(欢迎访问老王论坛:laowang.vip)
! B! w' @* e" _4 M(欢迎访问老王论坛:laowang.vip)

/ g! z, C( y% C6 v' Z! K1 o& t* t  h; u(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
, w$ {* S) s8 d: C% _' ?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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