Board logo

标题: [文件操作] 请教BAT重命名子目录和文件名含空格处理方法 [打印本页]

作者: yeahey_726    时间: 2012-12-5 17:29     标题: 请教BAT重命名子目录和文件名含空格处理方法

  1. @echo off
  2. for /r %%I in (*.jpg) do ren %%~nI.jpg %%~nI.png
复制代码
我想把目录下jpg文件改成png文件,希望了个bat文件,但是碰到空格就没法处理了,目录里面的子目录和文件名都有空格,怎么改啊,
请教各位大侠了!
作者: BAT-VBS    时间: 2012-12-5 17:34

  1. @echo off
  2. for /r %%I in (*.jpg) do ren "%%~nI.jpg" "%%~nI.png"
复制代码

作者: yeahey_726    时间: 2012-12-5 18:39

我也看过资料,需要双引号,但是把BAT-VBS 的代码试验了一下,还是没成功,继续请教,谢谢~
作者: BAT-VBS    时间: 2012-12-5 18:50

回复 3# yeahey_726
  1. @echo off
  2. for /r %%I in (*.jpg) do ren "%%I.jpg" "%%~nI.png"
复制代码

作者: yeahey_726    时间: 2012-12-5 19:05

还是没成功,BAT-VBS 兄,我还以是不是子目录夹还有空格的缘故,我将"%%~nI.png“改成"%%~fnI.png“还是没成功,很奇怪,BAT-VBS 能不能随便建个含空格的子目录及含空格的文件名测测?谢谢BAT-VBS 兄了
作者: yeahey_726    时间: 2012-12-5 19:15

坛子里面回复很快,让我这个新手很感动,谢谢各位了~~~~~~~~
作者: yeahey_726    时间: 2012-12-6 11:27

再求解,谢谢了~~~~~~~~~~~~
作者: apang    时间: 2012-12-6 12:40

  1. @echo off
  2. for /r %%I in (*.jpg) do ren "%%I" "%%~nI.png"
  3. pause
复制代码
再不行试试这样:
  1. @echo off
  2. for /f "delims=" %%I in ('dir /a-d /b /s *.jpg') do ren "%%I" "%%~nI.png"
  3. pause
复制代码

作者: BAT-VBS    时间: 2012-12-7 10:21

回复 5# yeahey_726
  1. @echo off
  2. for /r %%I in (*.jpg) do ren "%%I" "%%~nI.png"
复制代码
把@echo off删掉就知道哪里出错了




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