Board logo

标题: [文件操作] 批处理BAT如何批量修改文件夹以及子文件夹里面的文件格式? [打印本页]

作者: lforce    时间: 2014-2-22 17:30     标题: 批处理BAT如何批量修改文件夹以及子文件夹里面的文件格式?

小白求助,想要要用批处理,批量修改文件夹以及对应子文件夹里面的所有.bmp文件重命名为.bpm格式的文件,应该怎么写哈,请求大牛支持
搞美工的哈,不懂程序,哪位批处理大牛支持一下哈,谢谢了
作者: Batcher    时间: 2014-2-23 11:39

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s /a-d *.bmp') do (
  3.     ren "%%i" "%~ni.bpm"
  4. )
复制代码

作者: xihui520    时间: 2014-2-24 19:30

我也是菜鳥,請問這樣寫可以嗎?
  1. @echo off
  2. for /f "takens=1-2 delims=." %%i ('dir /b /s *.bmp') do (ren "%%i.%%j" "%%i.bpm")
  3. pause
复制代码

作者: yqjohn    时间: 2014-2-24 20:14

回复 2# Batcher
这个代码试过了
不能用啊
完全没效果
作者: Batcher    时间: 2014-2-24 20:42

回复 4# yqjohn


    你和楼主是同一个人吗?
作者: apang    时间: 2014-2-24 21:18

回复 3# xihui520


    ren /? 如是说:
请注意,您不能为目标文件指定新的驱动器或路径。


另外,如果文件名(或者路径)中不止一个小数点(.)
比如 d:\abc\d.ef\1.2.bmp
那么%%i值是d:\abc\d,%%j值是ef\1,跟你期望的就不一样了
作者: terse    时间: 2014-2-25 00:11

文件多的话 通配的效率好点
  1. @echo off
  2. pushd "c:\test\"
  3. ren *.bmp *.bpm 2>nul
  4. for /d /r %%i in (*) do ren "%%i\*.bmp" *.bpm 2>nul
  5. popd
  6. pause
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2