加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
8 ~' W1 e& ^1 U; n7 v% U
6 x, A" U1 O3 ~5 u$ w, ]+ m; p$ R7 {(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs2 j- @+ {3 F  G. g/ [& K  }(欢迎访问老王论坛:laowang.vip)
'+ Z1 P5 ^) |8 v/ n) Z(欢迎访问老王论坛:laowang.vip)
' 功能说明:
: {4 n( g6 C6 a+ D: q% \) @' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
7 X6 g, M# \1 u% `7 o  U' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。8 R5 \. r& O1 r3 Z; M(欢迎访问老王论坛:laowang.vip)
'
9 i: Y* x  l+ `- I' H9 a- a' 使用说明:$ v5 Y2 \& @# `% Y(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。7 e7 L! a2 V, @# r% V/ _(欢迎访问老王论坛:laowang.vip)
' 2. 双击运行脚本或通过命令行运行。
, |8 n3 x5 L+ N6 t1 v. q' n' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。3 u2 \, O( t. I2 S! v0 i0 m# I(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。0 _5 O( X- N4 J! N; K! c(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
# _' h& a7 O0 c' 6. 完成后,脚本会弹出消息框提示操作已成功完成。2 w1 J  t. b) d6 j* d5 c" u(欢迎访问老王论坛:laowang.vip)
8 N4 k+ u8 Q% P(欢迎访问老王论坛:laowang.vip)
Option Explicit
) z9 c' T( F/ I5 `& e
$ P2 K. u# ^3 v7 C/ H' 获取当前目录的路径
- D2 J& [; W* y- ]. u/ ]/ ADim folderPath
- E+ G) N7 Q4 l1 H  |5 E  ^+ E3 ofolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")9 d9 n  h- p7 }! ^( d(欢迎访问老王论坛:laowang.vip)

+ V6 r: ~/ D/ D  d: u) t3 g' 获取用户输入的新文件后缀名(不包含点)! s' _, N' S; E9 ]; W(欢迎访问老王论坛:laowang.vip)
Dim newExtension
* T$ p' \% D. V- ?newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
4 Q/ j% }5 D, F. C% G" E
% ]8 H" O2 j( f$ E' 如果用户取消了输入框,则退出脚本
" z  b3 H, f- e. F- }# FIf newExtension = "" Then
; i' `5 j4 W' M9 a3 {1 k/ @9 Y3 d    MsgBox "操作已取消。", vbInformation, "信息"! s- g+ J) ?3 r# H! j& k" d(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
- u' p# W1 @$ a& j* v  G5 i6 Z$ e7 kEnd If* h1 `8 ^1 r; F) X8 D(欢迎访问老王论坛:laowang.vip)

# Q8 \8 j6 F6 G2 e4 |9 ~1 Z* z$ F' 确保新的后缀名不包含点(.)6 t# r2 d9 \5 N) E+ v/ z(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then
. ~+ A8 z/ g. i4 u* _, [4 T    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
' N' |) }6 g# ?8 N  E2 ^. a- a. j    WScript.Quit+ t& A' t6 M$ P0 ]' n(欢迎访问老王论坛:laowang.vip)
End If! x. s+ ^: G6 b- x2 z5 B( o" |' ]$ e4 V* U(欢迎访问老王论坛:laowang.vip)
" V2 E2 z& k2 h+ T" @% ?(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
3 a7 v) P* w; W* pDim fso, folder, subFolder
. R. _+ U/ V8 ]Set fso = CreateObject("Scripting.FileSystemObject")0 |; R6 _" u" `+ _(欢迎访问老王论坛:laowang.vip)
% E( _! R$ L8 u4 M9 n(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的 Folder 对象
( ?' t7 P3 U4 d; W9 ^$ HSet folder = fso.GetFolder(folderPath)2 l4 n0 h! Y9 n: d  e( i(欢迎访问老王论坛:laowang.vip)

8 c- p/ d$ h% r0 o) O' 检查当前目录是否包含子目录5 ?- r; p5 ~6 b$ F- k: {* y' ~(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders: B. t5 v. ^, t$ p, b, y(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
) @* Z! y7 ^& C4 E& C) {9 ~6 D7 c2 y. R7 l/ P(欢迎访问老王论坛:laowang.vip)
' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
1 `) k# W: k; k3 l4 o6 x! v' FDim modifySubFolders, ]; V( _* y2 }% K7 r(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then
. f4 Y4 x( ~: h    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
/ M; k* ]# ]" k) B/ ~! a2 dEnd If
0 w/ K/ b% P0 w3 G5 t8 [4 \3 b3 Q0 ]; C* U(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件
( L3 U( _4 x* SCall ProcessFiles(folder, newExtension)8 T2 @) L$ {: G; d3 C(欢迎访问老王论坛:laowang.vip)

3 I! p+ [" B" @4 P3 k' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
& L& }- ?5 }4 ^* f0 {+ HIf hasSubFolders And modifySubFolders = vbYes Then) d* |) H0 _6 X9 o) T9 ?(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders  {$ E1 G4 d- Q6 N7 C/ T3 C(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
- _; v" M) D; a- @& Z9 f* v    Next( u. A7 S: V0 c8 X(欢迎访问老王论坛:laowang.vip)
End If
3 l+ C$ o* n0 G2 U6 K4 Z6 A: E& P9 x( r2 K3 v9 o7 J(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成) }. K) Y6 L; _" ~' L& T% e/ u(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成") z3 c6 x) W* z/ l6 I9 n; o(欢迎访问老王论坛:laowang.vip)
- z1 ]/ v$ C! {# H+ P" Z+ B# [(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序. ~/ L  ]5 |$ t" v; O! P$ V(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)
6 r! a) I: y0 N+ d    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
0 u, A' ~+ d: b: T* j1 ]) _7 m    Dim nameDict. K1 B  W+ ~4 ^  N4 o1 a(欢迎访问老王论坛:laowang.vip)
3 G0 C6 t# |/ s, r: {0 o/ y(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名  F1 p& z6 J2 o2 M$ j8 y, Z) P(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")
7 |! H$ j# u; L3 P/ Y! |
( e# ?( b- y1 b# p3 m8 x* f    ' 遍历指定目录下的所有文件
) P% c" f" U7 O5 P7 w$ s+ I3 u    For Each file In targetFolder.Files
  s: k3 I7 Y* j' Q  {        ' 跳过后缀名为 .vbs 的文件
! w" f( @- R4 }& k: p$ F% v, @        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
) ?+ W& Z1 b- P            ' 获取文件的旧名称、基础名称和当前后缀名# N2 W+ v; r6 ^(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name0 S& w0 q  i4 I1 P' v(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)) e( ]' C% d% r% J- G(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))
+ F3 Y) Y5 Z2 d0 S/ O
: B& H: S5 n) p, l4 c5 ]            ' 如果当前后缀名与新后缀名不同,则进行重命名! x3 |/ R+ I* J+ L) y(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then+ u2 M6 Q, G- L; c, o1 q8 U(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名
  J  b) X% y1 B! i3 \                newName = baseName & "." & newExtension- W& j/ x+ ~: F4 c(欢迎访问老王论坛:laowang.vip)
: N( p% X* ?% c3 u1 P, }(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名9 b$ ?+ z  y! F! Z4 R5 p(欢迎访问老王论坛:laowang.vip)
                newFileName = newName  R" W8 S1 _8 q3 Z1 h9 m  \(欢迎访问老王论坛:laowang.vip)
                counter = 1- w8 J# l- D5 M6 K7 _(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一
, j4 R/ F, [1 Z: W) v: c( n                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
+ z& l  B; T* j) Y                    newFileName = baseName & "(" & counter & ")." & newExtension$ I  y7 T- {% l9 p" X3 @(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 12 I9 c0 V' R7 z" h8 G(欢迎访问老王论坛:laowang.vip)
                Wend
' y, Y. b6 X7 q, a/ ?3 @
8 {  y* J/ v9 v7 B0 c0 T% A                ' 记录新的文件名/ _) X* i- |9 N- Z5 O7 t(欢迎访问老王论坛:laowang.vip)
                nameDict.Add newFileName, True
- V' B; p0 }: X8 f
  b, i" q  ]/ x                ' 重命名文件
0 i  v' h- E2 P' R* J                file.Name = newFileName
4 j, ~% \$ W( Y  r* }( Q            End If- S3 F1 Z8 w$ `2 \3 R; N0 ^(欢迎访问老王论坛:laowang.vip)
        End If
7 U/ S# h2 V+ Z- a" c1 y- X    Next
" V1 R  v2 d$ m) ?" O* C$ ?End Sub5 t4 `$ R9 \. R- j4 `(欢迎访问老王论坛:laowang.vip)
8 O+ t/ x! |8 `7 y* z7 D+ \+ \(欢迎访问老王论坛:laowang.vip)

6 c5 e$ O! o  }/ N& x9 s2 {) r) ~( \1 x(欢迎访问老王论坛:laowang.vip)
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
, D% W" |2 J% a  B% b
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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