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

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

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

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

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

x
分享一个自己整的批量处理文件后缀名的脚本(以下开始为脚本内代码,可直接复制粘贴使用,也可投币购买):
6 T; u: H0 i  f- a8 p; S- ~3 E" ?; z, w* W+ n(欢迎访问老王论坛:laowang.vip)
. M: x8 |2 S$ Z3 N6 U" q  R' D(欢迎访问老王论坛:laowang.vip)
' 修改文件后缀名.vbs
8 D' C$ Q- l2 s3 C' ^'8 S4 e& W3 i+ x% q(欢迎访问老王论坛:laowang.vip)
' 功能说明:
4 t7 i% _% y. U! |2 E9 i  M' 该 VBScript 脚本用于修改当前目录及其子目录中所有文件的后缀名。用户可以指定新的文件后缀名,并且可以选择是否处理子目录中的文件。 / g8 `/ ^% F$ V  H& \. C$ s$ v- o(欢迎访问老王论坛:laowang.vip)
' 如果在同一目录中存在重名文件,脚本会在文件名后添加数字以确保文件名唯一。脚本会跳过后缀名为 .vbs 的文件。) n" }+ i5 V2 Q, K(欢迎访问老王论坛:laowang.vip)
'* @, \6 e) t% r(欢迎访问老王论坛:laowang.vip)
' 使用说明:! M4 O3 c1 n4 L' C5 }# W(欢迎访问老王论坛:laowang.vip)
' 1. 将此代码保存为 .vbs 文件,例如 `ChangeFileExtension.vbs`。
5 d6 E" |( u3 s- X7 A. n' 2. 双击运行脚本或通过命令行运行。
2 Z1 f# \; M0 e( _4 D$ @) h' 3. 脚本会弹出输入框,提示用户输入新的文件后缀名(不包含点)。: ?' C+ n5 S8 W, f7 D8 i8 l(欢迎访问老王论坛:laowang.vip)
' 4. 如果当前目录包含子目录,脚本会询问用户是否也要修改子目录中的文件后缀名。选择“是”以处理子目录中的文件,选择“否”以仅处理当前目录中的文件。9 |# D. {7 a. o# U4 c9 \- W(欢迎访问老王论坛:laowang.vip)
' 5. 脚本会遍历指定目录及其子目录中的所有文件,跳过后缀名为 .vbs 的文件。对于需要重命名的文件,如果遇到重名,脚本会自动在文件名后添加数字(例如 `(1)`, `(2)` 等),仅在当前目录内处理重名。
* {3 J# D4 h1 T0 i) n' 6. 完成后,脚本会弹出消息框提示操作已成功完成。2 a! _% ~- \2 W; t, z, D  f(欢迎访问老王论坛:laowang.vip)

( |7 G9 c" E% f  `  DOption Explicit+ B& y8 T! D$ w4 Q, l$ _(欢迎访问老王论坛:laowang.vip)
9 L% i/ j& Q8 Z: o+ }' X(欢迎访问老王论坛:laowang.vip)
' 获取当前目录的路径
+ l$ K$ X9 e& ^. A8 d) j2 ?( RDim folderPath
$ @8 G+ ?; J; }) H  HfolderPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")& R" F) S( B" Q, _4 d: T(欢迎访问老王论坛:laowang.vip)

. m9 k: f" Y- W! J, R. w' 获取用户输入的新文件后缀名(不包含点)
8 S3 `( ?2 J+ z2 o; `Dim newExtension
2 _8 F0 f* ^& q. A% ?2 _newExtension = InputBox("请输入新的文件后缀名(不包含点),例如 'txt',将所有文件的后缀改为该值。", "设置新的文件后缀名")) _3 O: c/ N! g& Y/ T- g. Q( W3 ](欢迎访问老王论坛:laowang.vip)
# v3 L0 a9 Q3 N0 ?5 q3 R* P9 Q- H6 P+ a(欢迎访问老王论坛:laowang.vip)
' 如果用户取消了输入框,则退出脚本+ I% f" M% T+ U(欢迎访问老王论坛:laowang.vip)
If newExtension = "" Then
6 k- J# a% g7 r4 u5 g: e    MsgBox "操作已取消。", vbInformation, "信息"
" |! P& I: ~" f. j/ T  r5 @    WScript.Quit  \  ~$ w4 B! D7 `4 R; n(欢迎访问老王论坛:laowang.vip)
End If
/ E! h( w' C7 h3 g- }6 C7 `, X2 L  z8 u0 N(欢迎访问老王论坛:laowang.vip)
' 确保新的后缀名不包含点(.)/ v3 Y$ n3 p! R' T# R(欢迎访问老王论坛:laowang.vip)
If InStr(newExtension, ".") > 0 Then
4 t: |  F; [6 K+ ?( E, c    MsgBox "请只输入后缀名,不要包含点(.)。", vbCritical, "错误"
  ~0 |& ]: u: @- u0 b& g    WScript.Quit
0 T% A  z( x, f- \# M6 b& lEnd If: q' @4 E- e- C2 {. b(欢迎访问老王论坛:laowang.vip)
% |! J; M" u/ }  T+ p# T' O' r: F! `8 K! L(欢迎访问老王论坛:laowang.vip)
' 创建 FileSystemObject 对象
2 q" L$ F6 o% [' oDim fso, folder, subFolder
/ @1 m: i! _8 g4 v# YSet fso = CreateObject("Scripting.FileSystemObject")
' g& s. G* O& [: t" ^
! E5 _5 s& ?) L" m' 获取当前目录的 Folder 对象# E2 q+ P: a1 [(欢迎访问老王论坛:laowang.vip)
Set folder = fso.GetFolder(folderPath); f0 ?. `- v) \- V(欢迎访问老王论坛:laowang.vip)
8 i' o7 ?; m6 G2 I/ J3 h: q(欢迎访问老王论坛:laowang.vip)
' 检查当前目录是否包含子目录
; s' d$ d- d4 O4 X" r! e; O, rDim hasSubFolders7 c/ w) |8 L( x/ I(欢迎访问老王论坛:laowang.vip)
hasSubFolders = folder.SubFolders.Count > 0
3 F: M7 s% m; N+ Z  u8 B9 C
2 E$ Q  z% w- ]8 o! J7 D: {' 如果当前目录包含子目录,则提示用户是否也要处理子目录中的文件* G5 D2 T* S. f(欢迎访问老王论坛:laowang.vip)
Dim modifySubFolders! m: j1 _) H% d9 b$ Y0 Z(欢迎访问老王论坛:laowang.vip)
If hasSubFolders Then
9 e0 S* ~( a. s* s9 z/ l1 e    modifySubFolders = MsgBox("当前目录包含子目录。是否也要修改子目录中的文件后缀名?", vbYesNo + vbQuestion, "修改子目录中的文件")
# ^6 A5 z1 i8 e, S, v; P2 lEnd If6 j8 Q, `+ L( m0 z( P(欢迎访问老王论坛:laowang.vip)
# h$ w% Z1 z) {. V4 F1 d& @(欢迎访问老王论坛:laowang.vip)
' 处理当前目录中的所有文件7 G: Y0 n0 l2 J$ w(欢迎访问老王论坛:laowang.vip)
Call ProcessFiles(folder, newExtension)
3 Z8 Q0 f3 O4 C9 V8 k  {9 ^7 T9 m" `" {. X: r' B7 ~(欢迎访问老王论坛:laowang.vip)
' 如果用户选择是,并且当前目录包含子目录,则遍历所有子目录并处理其中的文件) {( C$ N) ?  r8 p5 D3 _7 N(欢迎访问老王论坛:laowang.vip)
If hasSubFolders And modifySubFolders = vbYes Then
( b7 t; c8 ^! H% u; ?6 G& }, i    For Each subFolder In folder.SubFolders3 m3 k( R2 K/ A: l(欢迎访问老王论坛:laowang.vip)
        Call ProcessFiles(subFolder, newExtension)
, ]) n  [6 M% `3 q$ M6 {: a    Next
, y3 o( J# V3 u. [/ `8 j$ I1 H: vEnd If
& K. \& u0 J% J; T( ]; @6 I* L8 N7 h: W9 O& M(欢迎访问老王论坛:laowang.vip)
' 提示用户操作完成. ]% X# t/ V  X& k* X* j(欢迎访问老王论坛:laowang.vip)
MsgBox "所有文件的后缀名已成功更改为 '" & newExtension & "'。", vbInformation, "完成"# }' W' n7 y  q, l1 m(欢迎访问老王论坛:laowang.vip)

' [! k" @: E$ D' h' 处理指定目录中的文件的子程序9 f3 q+ B' ~6 l6 ^  a5 @) f' B(欢迎访问老王论坛:laowang.vip)
Sub ProcessFiles(targetFolder, newExtension)/ U* r) S8 A8 L! f' C(欢迎访问老王论坛:laowang.vip)
    Dim file, oldName, baseName, currentExtension, newName, newFileName, counter  X) J- v8 [: r5 U$ K7 f- N(欢迎访问老王论坛:laowang.vip)
    Dim nameDict
* b2 X$ ~( o, x2 R9 s
' T: `3 f9 Z5 |5 r8 s    ' 创建一个字典对象,用于存储当前目录内的文件名/ L/ i, x& h  a' h$ |4 ?  g(欢迎访问老王论坛:laowang.vip)
    Set nameDict = CreateObject("Scripting.Dictionary")
; X1 U+ M; R$ P/ O$ X# b$ {% I7 W" l7 s0 O7 k5 F(欢迎访问老王论坛:laowang.vip)
    ' 遍历指定目录下的所有文件! _4 d. _3 q8 V* E(欢迎访问老王论坛:laowang.vip)
    For Each file In targetFolder.Files
, A1 {7 A+ b/ c. y1 T; I$ H* F        ' 跳过后缀名为 .vbs 的文件
, M0 b6 r) e1 [" N/ C3 q        If LCase(fso.GetExtensionName(file)) <> "vbs" Then2 g) g' C2 I6 P3 I(欢迎访问老王论坛:laowang.vip)
            ' 获取文件的旧名称、基础名称和当前后缀名) r$ ~+ |1 t& p* T) k$ {+ A(欢迎访问老王论坛:laowang.vip)
            oldName = file.Name
" S9 ^& ?# `; n            baseName = fso.GetBaseName(file)* }# @2 |7 Z5 I8 r. }  N- Y$ x5 F9 `(欢迎访问老王论坛:laowang.vip)
            currentExtension = LCase(fso.GetExtensionName(file))
* f6 t7 d. Q& l2 N9 ]& D6 _; {. `  t: H% c4 `(欢迎访问老王论坛:laowang.vip)
            ' 如果当前后缀名与新后缀名不同,则进行重命名
% U, ^/ ]+ K5 B3 U8 ]3 Z            If currentExtension <> LCase(newExtension) Then& i5 J% H8 M+ ]% v& G(欢迎访问老王论坛:laowang.vip)
                ' 创建新的文件名
! w# b$ @  L* B; i: \                newName = baseName & "." & newExtension
6 o+ l/ N" W. l# T! J: u/ X4 c2 V3 k2 }! @! t% Y) e, s, ?% `(欢迎访问老王论坛:laowang.vip)
                ' 检查是否已有同名文件,如果有,则处理重名
( V( z  X" h6 P4 P2 L$ U1 h                newFileName = newName
) s! t( F2 `0 f5 I# j, c/ y$ j                counter = 1+ B# j: N: a3 g1 ^0 T(欢迎访问老王论坛:laowang.vip)
                ' 确保新的文件名唯一" @* ~. y6 F$ k+ m(欢迎访问老王论坛:laowang.vip)
                While nameDict.Exists(newFileName) Or fso.FileExists(targetFolder.Path & "\" & newFileName)
/ g% F, {( Q9 U, S                    newFileName = baseName & "(" & counter & ")." & newExtension
8 Z6 H+ {8 T4 y& e4 \; l3 H1 i                    counter = counter + 1& B  H! t8 a% ?: i(欢迎访问老王论坛:laowang.vip)
                Wend
# V5 I' n8 Z! V8 G
! @% X3 w& ]. X$ t( j# p                ' 记录新的文件名
- ?, v( l3 A/ }' b3 j' v: Q                nameDict.Add newFileName, True# k+ N  z& E: L) T: D(欢迎访问老王论坛:laowang.vip)
$ Z$ `" A; l! r9 B7 ?# h: w' I! k(欢迎访问老王论坛:laowang.vip)
                ' 重命名文件  G" I6 P' k: p) {3 K4 v+ y& ](欢迎访问老王论坛:laowang.vip)
                file.Name = newFileName# D4 y( L) E$ l" s8 p. }5 q; Z7 a" Y(欢迎访问老王论坛:laowang.vip)
            End If
  }. D+ B( H1 A: |5 N2 [: x( H, |+ i        End If7 h! d+ `1 Q: {$ A* ](欢迎访问老王论坛:laowang.vip)
    Next
4 N3 T" o7 S6 {8 F# w/ w( I9 ^End Sub0 U) R" f. S8 R* g(欢迎访问老王论坛:laowang.vip)
% u1 D" _& K: W# ]. g(欢迎访问老王论坛:laowang.vip)

, b6 T1 N) c+ u+ Y
4 [$ y$ m: M" d; b6 V
回复

使用道具 举报

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

使用道具 举报

发表于 2024-9-6 12:41:25 | 显示全部楼层
微软store里面装个微软官方的powertoys里面什么工具都有,哪里需要这么麻烦哦
* {& o) S) B9 p7 L4 t& Q) x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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