加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):& m: d$ R& Y! d+ N2 {3 \' I) v(欢迎访问老王论坛:laowang.vip)
+ Q6 w/ ?" K9 ~1 x(欢迎访问老王论坛:laowang.vip)

, K2 a6 @& a" p. d. y' 修改文件后缀名.vbs
$ W8 D  x* v, d  \% ~- a4 v$ i' ^'
7 Y! E% a" Y6 L/ ]3 D4 l  E' 功能说明:
, H+ E1 U9 V2 K6 k8 S8 m' a: U' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。
, q( Y# U9 Y8 b8 @( g' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。
$ I: k9 X1 ^9 P5 J# W'
- k% n3 k" V; \, f' 使用说明:; R: D6 z" {" F(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
6 \% G# C+ ~5 @) {8 c) _* W' 2. 双击运行脚本或通过命令行运行。% T6 r& X  L: ]; c& s$ {(欢迎访问老王论坛:laowang.vip)
' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。5 E# K, B( M% H6 ]( q- x3 ]. B(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。7 l9 A& a1 C  u; G" i' D/ r(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
) q1 o1 C7 C4 B- q8 p: q' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
7 P4 }& L* x- b5 z( k/ R* p( L  D5 T6 T* C6 @# W. J+ G(欢迎访问老王论坛:laowang.vip)
Option Explicit# f4 c( a9 e9 Y7 p(欢迎访问老王论坛:laowang.vip)
* d% E& p. w: p1 h0 m4 t3 |8 R(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径# o% d; y1 ^0 u! ]8 x* ?% h5 W(欢迎访问老王论坛:laowang.vip)
Dim folderPath
' E, [( [! k' u( KfolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName("."), x0 q2 f$ s1 O; Z; [(欢迎访问老王论坛:laowang.vip)
9 D$ ^4 l; ~: p# \7 R(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)
4 f# V- g" n  |( [Dim newExtension
) W; m3 }( Y. t' W6 s/ WnewExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")2 F/ B5 t  u% G4 |0 @  q" b(欢迎访问老王论坛:laowang.vip)
" G6 Z' \6 _2 Y7 X5 w1 C2 h(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本
) }; G9 t' w+ f; p; B, aIf newExtension = "" Then
+ }- B7 E( y  N& {3 b. l( \    MsgBox "操作已取消。", vbInformation, "信息"! ^6 \3 I2 j$ B  _: v% o7 _$ R(欢迎访问老王论坛:laowang.vip)
    WScript.Quit# D; \. a) J& l# o/ M0 _- s(欢迎访问老王论坛:laowang.vip)
End If9 C7 }0 e$ }  C(欢迎访问老王论坛:laowang.vip)
' `/ h: z4 R! g7 @- ~(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)  m# N2 z3 K/ j4 R(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then9 P% C* |, q) [1 k$ b+ C  B; R, W(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
* V- z5 @5 j6 h0 w3 S    WScript.Quit+ n. c; l" l3 n; o7 B6 k2 }(欢迎访问老王论坛:laowang.vip)
End If; G8 T, n& `; A# l0 y(欢迎访问老王论坛:laowang.vip)

2 W9 P! l$ U) `9 l3 P# [0 @8 G' 创建 FileSystemObject 对象
6 R& m7 c: K0 {( s! MDim fso, folder, subFolder: h5 S+ Q$ }2 W! d9 |% s(欢迎访问老王论坛:laowang.vip)
Set fso = CreateObject("Scripting.FileSystemObject")
3 P3 a  M6 C& q: u! |5 i
6 @3 U2 D  ]5 m5 p* J* \7 z8 q' 获取当前目录的 Folder 对象$ `  ~) b* \' _. p% ](欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)
8 U0 k; {9 D9 H& \7 k  [* [; E0 |% i) n9 Z6 W3 M(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录
& A( l! m. V9 H  V+ q. R# j4 ~Dim hasSubFolders) Y; {) i. ^% }/ u9 O. U6 r/ Y(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
! H# q+ H8 a( X! s( s0 r3 F
+ O8 C# r6 ?) E' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件
7 E; F8 G( u& L2 z8 {; z1 gDim modifySubFolders  E- D( k7 C& W7 F(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then
( D: ?: i2 U5 e8 x  s1 J    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件"); I* _4 \' E) M/ W(欢迎访问老王论坛:laowang.vip)
End If
* a1 i* Q$ K8 }3 B# W5 v* M- t(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件$ D! g6 i# ]1 x, G3 ~( c) i; i(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)
; j+ x* D3 j2 ?$ l+ Z9 L% L0 R5 B% s$ u8 l" ?(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件" L, n' v2 }' h# a. p3 V(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then1 R+ E7 ?4 e. f4 N) [# d9 R(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders' Y* a0 T. U- E) V9 d(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
# I" f: [) s$ o4 x+ V0 i3 p    Next
% @' f7 U1 l9 ^End If
" q$ ?& d2 d: n6 g+ w
' M3 f$ k9 F1 G4 T0 ?2 J3 R' 提示用户操作完成( q5 C) X( a  C(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"( L1 A* a  X# S2 h! o(欢迎访问老王论坛:laowang.vip)

$ O; r# [. d9 O5 m. }! A' 处理指定目录中的文件的子程序
- _6 u, C, D# U+ {Sub ProcessFiles(targetFolder, newExtension)
! w% b" a5 A2 d; O    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
/ s, k) E1 t3 P  C    Dim nameDict* d1 T7 h2 a6 {6 Z+ Q# B! b(欢迎访问老王论坛:laowang.vip)

" c- K5 g) K. d; \6 c    ' 创建一个字典对象,用于存储当前目录内的文件名2 w' e" o; S6 U(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")# a4 ^& X* \5 ~0 |6 m(欢迎访问老王论坛:laowang.vip)

; h" |! V  K: ~2 T    ' 遍历指定目录下的所有文件
7 K/ n7 g2 X/ o9 M    For Each file In targetFolder.Files
8 v: a; K4 c9 [! F4 R1 a7 N/ U        ' 跳过后缀名为 .vbs 的文件
7 o5 {- ~4 ^4 {! k5 e        If LCase(fso.GetExtensionName(file)) <> "vbs" Then
  g& G# \; t: X- A# E            ' 获取文件的旧名称、基础名称和当前后缀名
& P8 e$ D  r* |            oldName = file.Name+ t/ }( T$ @7 }! X& T8 {' Q# h(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)3 [, U; U1 O8 @9 c8 n(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))3 O  r! `+ K. ~& N(欢迎访问老王论坛:laowang.vip)

* Q3 z( }; \1 ^' x            ' 如果当前后缀名与新后缀名不同,则进行重命名0 z/ `% T  y; Y' [; ~0 t(欢迎访问老王论坛:laowang.vip)
            If currentExtension <> LCase(newExtension) Then- u! m/ h6 b: k- m7 {+ O(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名) f0 D4 O9 q5 g7 B(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension
4 f$ M: i0 L8 S2 T- w; p/ m  S* y5 J4 {6 [8 t8 ^* j(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名
9 F" f+ p4 L4 P/ k7 ~4 H- T* l                newFileName = newName# p+ y# m3 H1 P3 H3 u/ E: r. ](欢迎访问老王论坛:laowang.vip)
                counter = 1! `: P% n% K2 h3 T7 C6 f(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一$ s$ I8 G, K0 J# [! a(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
5 _& D2 L* s7 W6 T! r0 X                    newFileName = baseName & "(" & counter & ")." & newExtension) |* ^1 r# S/ d/ N+ O(欢迎访问老王论坛:laowang.vip)
                    counter = counter + 1* n! [! P3 n7 I1 c. ](欢迎访问老王论坛:laowang.vip)
                Wend; X' T$ H& ~  Q( i(欢迎访问老王论坛:laowang.vip)
; P% J- e$ n5 ]4 }8 ]9 P# z% E' A(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名
1 s9 Q4 a4 l; L) N5 Q+ c                nameDict.Add newFileName, True
  ~; i0 ]& m5 P4 v+ w3 q7 F* [) o+ v- I, v; _(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件$ q" V8 p: k  f/ y) Z& X8 c(欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName
$ D/ y! \# d8 o9 J  I5 r            End If
$ s7 ~! v* R3 l9 e- |3 `4 s        End If
; }# x$ g* n9 _1 k    Next
) {, ]7 |, r" _  K( x7 [End Sub
! e0 Z. o; ^: t- |( q$ N9 `1 n; M% z0 e9 Y(欢迎访问老王论坛:laowang.vip)
  R/ Z7 J7 k# f  p1 h) ?(欢迎访问老王论坛:laowang.vip)

# l& k; ]1 x/ ?$ {5 `  [  z
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
) C& d" l! [8 Z: s
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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