无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2852|回复: 2
打印 上一主题 下一主题

请教一个批处理的问题

[复制链接]
跳转到指定楼层
1#
发表于 2007-9-17 22:41:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在A目录下有大量的BMP文件,想有选择性的将以名字第一位为数字的BMP文件拷贝到B目录,即将D:\a\1*.bmp这样的文件copy到D:\b下,写了个批处理,修改几次总提示找不到1*.bmp,请高手指教。

假使当前目录为A

  1. for /f %%i in (1 2 3 4 5 6 7 8 9) do dir d:\a\%%i*.bmp /b > list.txt
  2. for /f %%a in (list.txt) do xcopy %%a d:\b /y
复制代码

第一步列文件目录就失败,提示:找不到文件 1

试着将第一句改为:

  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完全能看到。

如何改写才能成功?
2#
发表于 2007-9-18 08:59:36 | 只看该作者
你对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
回复

使用道具 举报

3#
 楼主| 发表于 2007-9-18 12:42:20 | 只看该作者
谢谢lp1129的帮助。参照你的命令已成功操作。
因为简化成一句,并不需要写list.txt文件,/f参数已可省略。
看来需要理解学习的东西还很多。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-15 16:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表