Board logo

标题: [文件操作] [已解决]批处理用wind删除文件名中多余文字,命令语法不正确? [打印本页]

作者: comicguests    时间: 2011-8-23 08:49     标题: [已解决]批处理用wind删除文件名中多余文字,命令语法不正确?

  1. for /f "delims=" %%1 in ('dir /s /a /b') do (set wind=%%1
  2. ren "%%~1" "!wind:[Dymy]=!")
复制代码
就是以上代码,当我在dir后加 /s后就出现错误了,去掉便没问题.
但我想要处理子文件夹里的东西(全部子文件夹)
该怎么办呢?
作者: comicguests    时间: 2011-8-23 09:03

感谢else!非常感谢!!
作者: Hello123World    时间: 2011-8-23 13:25

之所以加上/s参数会出错是由于dir /s /b结合会返回文件的完全路径(完全路径:就是包含驱动、相对路径、文件名的路径),而ren的语法却是 ren “完全路径or文件名” 文件名(第二个必须是不带路径的文件名),而%%1获取的是完全路径,所以要用%%~nxi获取文件名。
作者: comicguests    时间: 2011-8-23 20:01

回复 4# Hello123World


    感谢说明!
受教了!




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