(已解决。感谢 redyear2026!)关于修改扩展名的VBS代码求助

查看 278|回复 29
redyear2026
OP
  
等热心人来
redyear2026
OP
  
   试试纯批能走多远...
   以下代码存为 test.bat 运行,代码中第四行预设了三个扩展名选项(txt, lst, csv)可自定义修改或追加
   命令行用法如 test "要改扩展名的文件",或将目标文件直接拖拽给 test.bat 亦可
[ol]@echo off &setlocal &if "%~1"=="" (set/p "f=拖入一个要更改扩展名的文件:") else set "f=%~1"
set "f=%f:"=%" & for %%F in ("%f%") do set "nF=%%~nF"
setlocal enabledelayedexpansion & set "n=1"
for %%e in (txt, lst, csv) do echo,!n! = %%e&set/a "n+=1" &set "_!n!=%%e"
choice /c "0123456789abc" /n /m "键入以上一个序号改为对应的扩展名(0=自定义扩展名):"
if %errorlevel% neq 1 (set "e=!_%errorlevel%!") else set/p "e=自定义扩展名:"
ren "!f!" "!nF!.!e!" &exit/b[/ol]复制代码
redyear2026
OP
  
看看
redyear2026
OP
  
   再给一个 bat+mshta 混编脚本,可实现自定义输入扩展名,也可从下拉选项菜单中择取
   以下代码可存为 test.bat 运行,可直接拖拽要更改扩展名的文件给 test.bat 运行即可,如没有拖拽文件喂送,test.bat 会要求即时拖入一个目标文件
   代码第12-14行预设了三个扩展名选项示例如 txt lst csv,可自定义修改或添加
   本脚本采用的 mshta 要求系统内置的 ie 引擎至少是 v9 版
   因采用独立运行 mshta 脚本文件,故 test.bat 在 win11 新版本系统下依然可正常运行
[ol]
【更改文件扩展名】
自定义扩展名:
扩展名选项:
  txt
  lst
  csv

[/ol]复制代码
gaohd   
学习打卡
coolwu   

redyear2026 发表于 2026-3-28 21:45
再给一个 bat+mshta 混编脚本,可实现自定义输入扩展名,也可从下拉选项菜单中择取
   以下代码可存为 t ...

非常感谢!
这个拖拽确实可以用。
如果想弄到右键菜单中,右击文件,在菜单中选择运行此批处理,弹出修改对话框,要怎样写?因为我感觉集成在右键中,使用更方便。谢谢。
gaohd   
感謝樓主分享 ^^ 謝謝喔,感恩喔~~!
redyear2026
OP
  
   

xmzhqw 发表于 2026-3-28 21:59
非常感谢!
这个拖拽确实可以用。
如果想弄到右键菜单中,右击文件,在菜单中选择运行此批处理,弹出修改 ...

以下代码存为 test.reg(其中最后一行可自定义真实路径文件名,预设 c:\\test\\test.bat),双击运行会有弹窗提示,点击 '是' 即可完成注册表设置,试试吧
[ol]Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\修改文件扩展名]
[HKEY_CLASSES_ROOT\*\shell\修改文件扩展名\command]
@="cmd.exe /c c:\\test\\test.bat \"%L\""[/ol]复制代码
redyear2026
OP
  
现在AI太好用了,可以让AI写。前段时间还让AI写了powershell的批量修改txt文件内容和文件名的脚本
redyear2026
OP
  
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册