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

回复 3# apang


   首先, 感谢apang的指点,诚恳接受批评。 你给看看,我下面的修改是否可以?  我在dir /ad/b/s 加了参数/s 之后,再在后面命名中把  ren "%%i" "!num!%%i" 改为 ren "%%i" "!num!%%~ni" ,利用变量扩展屏蔽了路径,这样执行的结果是 没有再出现语法错误的提示,可以执行了,重命名也成功了,但是又有了新的提示:系统找不到文件!不知是何原因,是不是我的变量扩展没写对%%~ni   ,这里的n我想指的文件名,但是又在变量扩展中找不相应的字母,因此我用文件名的扩展,不知是否正确,执行的结果虽然是重命名了,但出现了我上面所说的错误提示,请明示原因。另外,虽然加了参数/S,但是仍然没有对子目录中的文件夹重命名,再请您分析原因,谢谢。
第二,我的目的是想对多级子目录中的文件夹重命名,请大家在我上面的代码上给指点迷津或指出更好的方法。再谢大家。

TOP

http://www.bathome.net/thread-28415-1-10.html
楼主不长记性
dir 加上参数 /s 以后,列举出来的文件会包含驱动器和路径,新文件名 "!num!%%i" 中已经包含驱动器和路径了,所以报“语法错误”

TOP

问题是:代码中 dir /ad/b又不能加参数 /s ,提示说是语法错误??

语法错误应该不是 /s 参数的原因。
以这个目录为例:
C:\test\folder
你的代码会先把 C:\test 重命名成 C:\1test
然后再尝试重命名 C:\test\folder,因为 test 文件夹已经不存在了,所以出错。

TOP

返回列表