无忧启动论坛
标题:
请教一个批处理的问题
[打印本页]
作者:
daiddcc
时间:
2007-9-17 22:41
标题:
请教一个批处理的问题
我在A目录下有大量的BMP文件,想有选择性的将以名字第一位为数字的BMP文件拷贝到B目录,即将D:\a\1*.bmp这样的文件copy到D:\b下,写了个批处理,修改几次总提示找不到1*.bmp,请高手指教。
假使当前目录为A
for /f %%i in (1 2 3 4 5 6 7 8 9) do dir d:\a\%%i*.bmp /b > list.txt
for /f %%a in (list.txt) do xcopy %%a d:\b /y
复制代码
第一步列文件目录就失败,提示:找不到文件 1
试着将第一句改为:
for /f %%i in (1*.bmp 2*.bmp 3*.bmp 4*.bmp 5*.bmp 6*.bmp 7*.bmp 8*.bmp 9*.bmp) do dir d:\a\%%i /b > list.txt
复制代码
同样提示:找不到文件1*.bmp
但A目录下明显存在1*.bmp,手工用dir 1*.bmp完全能看到。
如何改写才能成功?
作者:
lp1129
时间:
2007-9-18 08:59
你对for语句的理解还不够深入,这里不需加 /f 参数, 以下是我的用法,不需批处理,在CMD中一句命令即完成:
for %i in (1 2 3 4 5 6 7 8 9) do if exist d:\a\%i*.bmp xcopy d:\a\%i*.bmp d:\b /y
作者:
daiddcc
时间:
2007-9-18 12:42
谢谢lp1129的帮助。参照你的命令已成功操作。
因为简化成一句,并不需要写list.txt文件,/f参数已可省略。
看来需要理解学习的东西还很多。
欢迎光临 无忧启动论坛 (http://wuyou.net./)
Powered by Discuz! X3.3