加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):; v8 O' r0 z- M# i5 `(欢迎访问老王论坛:laowang.vip)
. `& [( D4 g  O4 _; N- \(欢迎访问老王论坛:laowang.vip)
2 J. j% W5 n2 G" z( e, t( f5 F; ~(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs8 ?5 V+ j, ^5 [% c(欢迎访问老王论坛:laowang.vip)
'
$ f3 Q/ N1 G: u9 e  W; Y' 功能说明:1 P: w7 B. z# k$ }# Q5 h7 Q! [(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 ) R! k* L" y8 i: d* D(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。& ?* }1 M& E. x5 c5 n; q( P* m' O(欢迎访问老王论坛:laowang.vip)
'3 X( f; [: q" a9 Q7 S7 g2 {4 N(欢迎访问老王论坛:laowang.vip)
' 使用说明:
1 A! c9 X( c8 o' r- P' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
- P8 a/ q9 b- [% l& `$ g- U' 2. 双击运行脚本或通过命令行运行。
6 m2 C9 t3 t$ V% t' W* r' N$ M' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
' U. {, h- D0 c( {8 ^: M7 D8 H' d' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。# J& |3 j+ @4 L4 |- f8 P5 X3 X9 [(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。5 l% p, {9 u/ X2 e! m(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。# P' U$ ], Y3 D2 S) v% \(欢迎访问老王论坛:laowang.vip)

* L  L+ Z6 O( X/ W; D8 k1 j& SOption Explicit; D$ V( u* N& ~# Q(欢迎访问老王论坛:laowang.vip)

5 ^( ^: o  p/ F; E! Q) A4 P' 获取当前目录的路径
' O5 ?8 o% A9 _( gDim folderPath2 M, r3 m/ Z2 ]! O2 D( t  T$ s$ B6 i' ]. T(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
5 V( V" ^1 v! n/ r6 Y/ p0 F9 C+ ~; p! R8 @(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)
/ l! W3 Z- B4 }5 fDim newExtension
: R; ~/ ?, @; ^newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")4 l- @2 Z$ Q% x5 g3 R6 r(欢迎访问老王论坛:laowang.vip)

# b; i; A( [0 _* I; v' M' 如果用户取消了输入框,则退出脚本
! z, u7 F  j, T! }* SIf newExtension = "" Then& Y# ~( j9 a: D$ X(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"
# Y0 K" J0 a7 {: |* O/ I2 r    WScript.Quit
+ H7 @0 S* Y2 p; }6 l1 q/ l) [End If
& W$ t8 w' A3 l) a& }) `
) T  I0 }4 z% L' 确保新的后缀名不包含点(.)2 O! ]3 P9 u) K% |  I(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then
8 e; {: D  F7 R- F; [    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"2 S- b" N6 m: C7 Y(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
3 K2 f3 `4 E( H7 HEnd If
% n# y) T/ V. r; w
/ s4 T0 r5 n) ^: M. n' 创建 FileSystemObject 对象, _: \* t. e$ D4 ~: |7 E  Q$ g) P(欢迎访问老王论坛:laowang.vip)
Dim fso, folder, subFolder. `1 o6 W& H  V+ k7 d9 v% |% l2 w(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")
& @$ X: B! U+ W1 V) q: u/ J1 V7 D6 t) D' g) h& W(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象
# u: Q! G: l1 ASet folder = fso.GetFolder(folderPath)5 L. i0 {: F: P- g& V7 |4 ](欢迎访问老王论坛:laowang.vip)
0 D+ v2 b8 u5 }1 y( ?5 r1 @) e(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录
4 B1 k% f* e- e- K0 kDim hasSubFolders
3 I3 t* G/ M& B/ H8 N2 yhasSubFolders = folder.SubFolders.Count > 0
* s7 S( K% D  \
, c8 H1 T" c; Y. n5 h! t' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
4 ~& b5 V. `* R2 w/ B7 k- e* EDim modifySubFolders2 K7 R, W# z$ _- C0 y& d: U(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then
% ?5 S" m: z5 s2 |9 C6 k2 v    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件"). Y; u5 I  ]; U(欢迎访问老王论坛:laowang.vip)
End If, v/ s( `) w$ f- H6 d(欢迎访问老王论坛:laowang.vip)
& S( z4 T; {( v5 k6 _( E(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件
  K, C4 ?0 M) l( N4 j# pCall ProcessFiles(folder, newExtension)
, @. ], W" i& i7 i# {/ |4 k+ m0 x7 p+ s' y; x( A1 _, q5 y, B" V(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件1 E6 o& s" b# c0 B' N(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then
6 o/ G2 p! {2 _/ s: q2 J    For Each subFolder In folder.SubFolders, R; A' T# a+ ~( X8 g(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
, ?- j1 L0 \1 u8 C    Next
, W& \. s# ]. T* QEnd If- @  V0 L( S3 a9 [5 s(欢迎访问老王论坛:laowang.vip)

2 [7 {! e$ m5 m1 J7 X' 提示用户操作完成- j- Q/ }1 V% x6 T! Y(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"1 K$ Q: Z. ^1 l3 _" l$ y/ G(欢迎访问老王论坛:laowang.vip)

+ i) n6 B' s) a/ h! G# ^" J% q, ?' 处理指定目录中的文件的子程序, \8 E" K1 M. u* |% n6 B(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)
0 t; o% X8 Q7 L* k; D+ j9 s    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter, i0 K; c# R2 }1 T0 I(欢迎访问老王论坛:laowang.vip)
    Dim nameDict
( J  \  o6 v. ^& R0 }) c, l$ S. K1 f. K% Z" w' `" u(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名
$ s+ L9 G# h" B; q( A    Set nameDict = CreateObject("Scripting.Dictionary")) W* V1 e; o2 o1 L; }0 o(欢迎访问老王论坛:laowang.vip)
8 l3 |$ v9 G4 J4 O  ]4 I- f2 A(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件" `. h' V" Z# ~' J2 {+ y# B0 i(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files& F, y. E4 s( q1 G/ g% e6 l(欢迎访问老王论坛:laowang.vip)
        ' 跳过后缀名为 .vbs 的文件
- E0 W. [8 j* \/ e  Q1 |  H        If LCase(fso.GetExtensionName(file)) <> "vbs" Then$ ~: ~; b7 a. }- ~9 E' W$ l(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名) A. j* v/ x0 x% y" e" s8 n(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name: q+ c" g1 v: l. u, Y$ O* c7 K(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)
2 L- A9 B$ k/ g2 Z4 y            currentExtension = LCase(fso.GetExtensionName(file))9 u" U% A; x; B! `7 o; h2 w(欢迎访问老王论坛:laowang.vip)
; D$ {! y) T. y8 y3 c(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名
( a) o  f0 o! j; W8 r) R            If currentExtension <> LCase(newExtension) Then/ r/ n0 W6 Z* Y% y# e(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名
  I0 R, A1 P( @: {                newName = baseName & "." & newExtension
$ {3 T9 u( j8 {: ]* L  z) a, i, w" \' C- Z% C6 H8 e  x(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名7 s) U8 b- _( _% a$ R3 J(欢迎访问老王论坛:laowang.vip)
                newFileName = newName
4 {8 N( a; S# n- }; Z                counter = 1  f% x# g* a$ U- j, S& h(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一; O- t' g2 K3 C( f7 o, V8 e(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)$ A  [* }; m& y) u5 r  Y) m& B/ Q(欢迎访问老王论坛:laowang.vip)
                    newFileName = baseName & "(" & counter & ")." & newExtension* c4 p" i7 T% ^. g(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1
5 q5 V* @! F- ~/ f                Wend
6 S* F  Q4 y& g( O
5 I% E$ b$ h; F; @/ q$ M8 }                ' 记录新的文件名
, I& L* Z1 s/ O. ^& l                nameDict.Add newFileName, True# S1 g% {" _# l6 g3 v$ z' L(欢迎访问老王论坛:laowang.vip)
( A0 Y" t7 W3 A: \; A(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件
6 m: _8 L# t, t$ Y# x$ V                file.Name = newFileName% [' h; b/ C- Q(欢迎访问老王论坛:laowang.vip)
            End If
) ~2 }6 T; h7 \0 P& e3 x. _0 T/ O        End If( {4 c' k! p' z(欢迎访问老王论坛:laowang.vip)
    Next- m$ p, _8 D/ m9 p1 {% U& d(欢迎访问老王论坛:laowang.vip)
End Sub8 @! e: B3 s  |. ]* E) }- B2 i(欢迎访问老王论坛:laowang.vip)

% U9 c/ y, C4 H% T  v% E/ j
7 |. M/ k* e, P% V8 F
4 ?3 m% o: s" z$ ^: Z9 j
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦% L* T* e5 L8 C* I, C- B; e+ u(欢迎访问老王论坛:laowang.vip)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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