标题: [文件操作] [已解决]批处理批量更名成功但提示错误信息 [打印本页]
作者: sunshineblue 时间: 2009-6-25 17:06 标题: [已解决]批处理批量更名成功但提示错误信息
for /f %%b in (d:\numbers.txt) do ren D:\Movie\FullDisc\爱情白皮书\*.rmvb unknow%%b.doc
d:\numbers.txt的内容为:
1
2
3
4
我用以上代码对D:\Movie\FullDisc\爱情白皮书 目录下的四个rmvb文件进行批量更改文件名与后缀,
四个rmvb文件成功地被更改了unkown1 .doc unkown2 .doc unkown3 .doc unkown4 .doc
但是命令提示符窗口却提示一下错误信息
ren D:\Movie\FullDisc\爱情白皮书\*.rmvb unknow1.doc
存在一个重名文件,或是找不到文件。
存在一个重名文件,或是找不到文件。
存在一个重名文件,或是找不到文件。
ren D:\Movie\FullDisc\爱情白皮书\*.rmvb unknow2.doc
存在一个重名文件,或是找不到文件。
存在一个重名文件,或是找不到文件。
ren D:\Movie\FullDisc\爱情白皮书\*.rmvb unknow3.doc
存在一个重名文件,或是找不到文件。
ren D:\Movie\FullDisc\爱情白皮书\*.rmvb unknow4.doc
麻烦前辈帮忙看看到底是哪里出错了 应该怎么优化这段代码?
[ 本帖最后由 sunshineblue 于 2009-6-25 23:08 编辑 ]
作者: zljzsmzzx 时间: 2009-6-25 18:22
晕。你这写的是什么东西啊。你理解*.rmvb的意思吗?ren D:\Movie\FullDisc\爱情白皮书\*.rmvb unknow%%b.doc你能完全的说清楚这一句的作用吗?这是要把目录D:\Movie\FullDisc\爱情白皮书下所有的rmvb文件同时重命名为unknow%%b.doc。你觉得这样会不会出错呢。我只点到这,其它的你自己想想。如果你只是命名成unknow1.doc的形式可以用下面这个。- @echo off
- setlocal enabledelayedexpansion
- cd /d D:\Movie\FullDisc\爱情白皮书\
- for /f "delims=" %%i in ('dir /b *.rmvb) do (
- set /a a+=1
- ren "%%i" "unknow!a!.doc"
- )
复制代码
[ 本帖最后由 zljzsmzzx 于 2009-6-25 18:24 编辑 ]
作者: sunshineblue 时间: 2009-6-26 01:50
不好意思!我刚刚接触批处理!
还没学到延迟环境变量扩展和for /f %%i in ('命令语句') do (……)的用法
看了您的代码学习后终于解决了!谢谢指点!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |