[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理怎样对指定目录下的文件进行批量修改扩展名?

如一个目录 中包含N个扩展名为BAT的文件,如果要批量修改为CMD扩展名的,应该怎样操作呢?
  1. @echo off
  2. set /p Path=请输入名录入文件夹路径:
  3. ::类似这样的? ::for /l in () do  ren %Path%\*.bat do ren *.cmd
复制代码

  1. @echo off
  2. set /p mypath=请输入文件夹完整路径:
  3. for %%a in (%mypath%\*.bat) do (
  4.     ren "%%a" "%%~na.cmd"
  5. )
复制代码

TOP

  1. ren *.bat *.cmd
复制代码

TOP

回复 2# BAT-VBS


    如果要对子目录下的文件也处理,要添加什么参数呢?

应用:如我想把一个U盘中的所有bat文件都修改为cmd的。

TOP

本帖最后由 CrLf 于 2013-4-6 15:10 编辑
  1. cd /d U:\test\
  2. for /r /d %%a in (*) do ren "%%a\*.bat" *.cmd
复制代码

TOP

  1. @echo off
  2. set /p Path=请输入路径或拖入文件夹:
  3. set Path=%Path:"=%
  4. set /p OType=请输入要修改的类型:
  5. set /p Type=要修改为的类型:
  6. cd /d %Path%
  7. for /r /d %%a in (*) do ren *.%OType% *.%Type%
  8. start %Path%
  9. ping 127.1 -n 3
复制代码
回复 5# CrLf


为什么子目录下的修改不成功呢?

TOP

回复 6# xzwcn


    漏了路径,已修改

TOP

本帖最后由 xzwcn 于 2013-4-6 22:15 编辑

回复 7# CrLf


    执行时为什么提示找不到指定文件呢?
文件存在于:
C:\Users\Administrator\Desktop\aa>tree /f
Folder PATH listing for volume win7
Volume serial number is 00000200 4C10:FB42
C:.
│  123.bat

└─ff
        dd.txt

执行结果:
请输入路径或拖入文件夹:C:\Users\Administrator\Desktop\aa
请输入要修改的类型:txt
要修改为的类型:bat
Press any key to continue . . .
The system cannot find the file specified.
Press any key to continue . . .
  1. @echo off
  2. set /p Path=请输入路径或拖入文件夹:
  3. set Path=%Path:"=%
  4. set /p OType=请输入要修改的类型:
  5. set /p Type=要修改为的类型:
  6. cd /d %Path%
  7. pause
  8. for /r /d %%a in (*) do ren "%%a\*.%OType% *.%Type%"
  9. pause
  10. start %Path%
  11. pause
  12. ping 127.1 -n 3
复制代码

TOP

回复 8# xzwcn


    ren "%%a\*.%OType%" "*.%Type%"

TOP

返回列表