加载中...

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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
9 N3 z2 o% Z7 T2 P9 c& i( {1 g2 h7 b; W4 y/ Y+ ?. P(欢迎访问老王论坛:laowang.vip)
! S; J1 g; D1 y(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs
1 d; m8 e! m# Z1 Q* n4 y" L8 \'% N* h) {( p7 G" Y; e0 P(欢迎访问老王论坛:laowang.vip)
' 功能说明:1 L+ c- `" ~, [+ `1 ?7 d4 H: x(欢迎访问老王论坛:laowang.vip)
' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 0 N9 I5 u9 f( I9 z% w+ l! P( a* i(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。# {# q8 H! x, m9 G- C(欢迎访问老王论坛:laowang.vip)
'
7 h% f) _0 X" l3 i2 q, H' 使用说明:7 r# X! M- h( p) I3 e: E(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
+ v5 R( d! {( G* V! C' 2. 双击运行脚本或通过命令行运行。
' l+ P8 a+ h% E$ V6 B' K' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。
8 {, H9 ]& ?8 J; T( Y  \' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。
1 Z7 Z; L! @2 x& W' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。+ x/ B8 g, x2 Y7 {2 X(欢迎访问老王论坛:laowang.vip)
' 6. 完成后,脚本会弹出消息框提示操作已成功完成。
1 g$ m, E9 ]0 k: k$ w# p( H- I! H0 ~! d5 u( Y* S$ X/ u(欢迎访问老王论坛:laowang.vip)
Option Explicit- ~! L- N: L0 }(欢迎访问老王论坛:laowang.vip)
; _. r# p! W) Y; [- R: T% c(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径. u' m3 ~) u% k$ a8 \" ](欢迎访问老王论坛:laowang.vip)
Dim folderPath) [$ a& S) Y* Q: D(欢迎访问老王论坛:laowang.vip)
folderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")3 _+ K3 H6 f7 w' S) h(欢迎访问老王论坛:laowang.vip)
  Z. b. |6 p$ r1 F" @(欢迎访问老王论坛:laowang.vip)
' 获取用户输入的新文件后缀名(不包含点)/ ^5 h9 l5 t1 y9 b) ^(欢迎访问老王论坛:laowang.vip)
Dim newExtension
5 w+ N' I- ~1 v' y& I& {newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")
: a& M7 H; v/ g& |6 h5 e
- g/ |2 f0 m2 m' ^6 A" b( i! t' 如果用户取消了输入框,则退出脚本
  e8 G) m  s- j5 d2 m9 Y4 LIf newExtension = "" Then% x/ @; O$ G+ w) S0 i  d& U(欢迎访问老王论坛:laowang.vip)
    MsgBox "操作已取消。", vbInformation, "信息"2 I' Z! R& _0 V3 X, h- Y) F- r# S1 \(欢迎访问老王论坛:laowang.vip)
    WScript.Quit
- z* @  j* p! n7 I2 oEnd If
# z' t9 u( O& O& o* E7 n' A* Z9 S7 G6 A$ T(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)
) O* |, l  z0 m+ S& V- TIf InStr(newExtension, ".") > 0 Then9 V8 d( l3 V8 G: S/ d( F8 F$ O7 y(欢迎访问老王论坛:laowang.vip)
    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
1 }$ z3 w. \/ g6 L8 H% b3 P3 ^! w) ~    WScript.Quit
- E: l5 b7 k1 y4 {* F: ^' }6 X5 |End If9 T" c" z! |' t* H& e3 n2 r1 y(欢迎访问老王论坛:laowang.vip)
( C- h  d& v! a- }* c* o, y) w(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
( |2 j3 S3 H: R! ZDim fso, folder, subFolder
' s8 Y. ~0 M9 L6 |! J  _% S7 s% `+ zSet fso = CreateObject("Scripting.FileSystemObject"). F& D, H$ Y% d  n- l7 W( i(欢迎访问老王论坛:laowang.vip)

/ t+ ?% F' N' \( K' 获取当前目录的 Folder 对象6 F1 o, y. C7 h: j) u(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath)
! y( O( _- {% H9 o9 z: g6 D
# A0 L! G; g+ M* I' 检查当前目录是否包含子目录$ F7 B: y  s  P(欢迎访问老王论坛:laowang.vip)
Dim hasSubFolders! h& w) g+ h! \  V6 O) q(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
9 Y4 L1 b  p; x
5 @$ F9 `3 f' H8 B& [' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件0 D5 r# ?0 @/ @# s(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders
" U6 l2 k1 c+ eIf hasSubFolders Then* I% _0 ]' J- k! P. Q" l  F(欢迎访问老王论坛:laowang.vip)
    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
& }& a( y% F$ ~. hEnd If
4 B5 {, }2 k( h
( `! E/ z7 k4 T5 E' 处理当前目录中的所有文件0 o- ~6 j! @- x6 I( Z(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension), b& u( v' H" m(欢迎访问老王论坛:laowang.vip)
4 H% o! `1 ]6 v; v(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件
: Y( P/ Z0 @4 T, ~8 p! X; e! HIf hasSubFolders And modifySubFolders = vbYes Then/ X' [' x; S& Q2 _(欢迎访问老王论坛:laowang.vip)
    For Each subFolder In folder.SubFolders
% H$ C: q- P9 J1 h8 r' m; j        Call ProcessFiles(subFolder, newExtension)9 c8 }0 P" E: [(欢迎访问老王论坛:laowang.vip)
    Next
7 \. E! H3 ^7 a4 }: n2 i( \9 |End If+ R6 M0 |+ G1 d7 f, {(欢迎访问老王论坛:laowang.vip)
  b1 B" M6 n4 w8 I5 v(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成: G3 U1 g! L- r& g  R" H(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"
: ?6 w" l, N; `( Y5 T% t7 `. g4 e. p# g1 g; {* u; s(欢迎访问老王论坛:laowang.vip)
' 处理指定目录中的文件的子程序$ `2 I/ r. ~) o' A$ N(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)
  x. e- d! z% b: U! z2 _* p, c    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter
# |! X, |, K; o6 H$ r    Dim nameDict# P, ~* M+ G' P4 X(欢迎访问老王论坛:laowang.vip)
* z" u3 G7 ^9 G% J9 Q(欢迎访问老王论坛:laowang.vip)
    ' 创建一个字典对象,用于存储当前目录内的文件名
2 [' {8 F) B; o1 o7 ]# T2 O' f    Set nameDict = CreateObject("Scripting.Dictionary")( X/ r( T' A1 j(欢迎访问老王论坛:laowang.vip)

! \. {9 r" W4 \% X- L    ' 遍历指定目录下的所有文件
( b0 r2 }, L5 ^. H8 L9 ?" b    For Each file In targetFolder.Files
* @; ?4 T& \! W( L" w        ' 跳过后缀名为 .vbs 的文件
/ \2 _; ^- a2 E7 z* Y4 ]% S        If LCase(fso.GetExtensionName(file)) <> "vbs" Then( L4 ^1 e$ E8 z0 C. k2 j(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名
  n, Z+ i- N: g3 z            oldName = file.Name0 ~" ~. w0 W$ p" h7 @9 {! U" `(欢迎访问老王论坛:laowang.vip)
            baseName = fso.GetBaseName(file)
) J8 d# ~) ^: j9 E6 u  F9 T2 S            currentExtension = LCase(fso.GetExtensionName(file))
7 m2 S8 w; k4 L7 G. f' @
6 J( |! ]2 j) d* m8 b. G            ' 如果当前后缀名与新后缀名不同,则进行重命名
$ X7 }8 B* S% x, h            If currentExtension <> LCase(newExtension) Then, _, e0 G8 k8 N' ](欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名, H6 u% O! X! u) \: ^(欢迎访问老王论坛:laowang.vip)
                newName = baseName & "." & newExtension
" U2 S  R' V8 t# j
) _, E3 g; ~8 p& \: F                ' 检查是否已有同名文件,如果有,则处理重名5 X8 m7 ^/ v, }7 g7 n; U3 a7 k, i! z(欢迎访问老王论坛:laowang.vip)
                newFileName = newName/ O4 g( I6 F' v# C5 s1 W# M+ e(欢迎访问老王论坛:laowang.vip)
                counter = 1
* k6 s9 B% i! I- M* g                ' 确保新的文件名唯一
! b, f: U, \6 A+ b8 Q                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
) v3 {! {, @* f; y9 M8 T' {                    newFileName = baseName & "(" & counter & ")." & newExtension
& Z# K: r7 ]- O1 V# c% |# \3 T                    counter = counter + 1
  j! F; s/ C$ v  \4 s" q                Wend
0 z- `9 `% f: R8 @0 F/ ^, @& X- e8 `- a! I* [  g(欢迎访问老王论坛:laowang.vip)
                ' 记录新的文件名
- n+ C4 q4 P/ i                nameDict.Add newFileName, True8 j# L( J4 v$ @2 y(欢迎访问老王论坛:laowang.vip)
+ t) f1 w' @9 o) W, D' p(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件
9 H+ ?, W4 w5 `" \5 K                file.Name = newFileName
4 _8 i, O2 b% n, A1 p' n            End If. s1 u( _8 }8 r! m0 c' G% ^# D2 z(欢迎访问老王论坛:laowang.vip)
        End If; D! J8 \) g0 b) G9 [8 d) a(欢迎访问老王论坛:laowang.vip)
    Next
8 u; r. p3 C+ y6 c) q, B# o& iEnd Sub; k9 e$ w: G$ W( L(欢迎访问老王论坛:laowang.vip)
. I* o& C% S, z; U( B& w(欢迎访问老王论坛:laowang.vip)

( k' h: C1 Z0 l6 p
$ e2 g! g+ Y! W- H
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
6 {& F; V' {( |/ P, t: X% A, _% g
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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