楼 主
一个寻找文件问题!休假最后一天,希望大家帮帮我。
发表于 2007-05-06 21:36 · 中国 湖北 武汉 电信
中级用户
★★
积分 210
发帖 79
注册 2007-04-14 10:49
UID 85130
性别 男
来自 湖北
状态 离线
我有一个问题
我有一个文件a.bat不知道在哪里
我想有编个代码来判断寻找这个文件a.bat
然后把它copy到其它盘中
请问改怎么做?
谢谢大家告诉。
[ Last edited by zqdarkday on 2007-5-6 at 10:58 PM ]
第 2 楼
发表于 2007-05-06 23:02 · 中国 广东 湛江 廉江市 电信
高级用户
★★★
积分 959
发帖 311
注册 2006-04-11 14:08
UID 53665
性别 男
来自 广东-LianJiang
状态 离线
要是用批处理来找文件,效率不理想。
出于学习可以试下代码:
这个是在D盘中寻找a.bat,找到a.bat,就复制到当前目录,并中止寻找。
for /R d: %%i in (a.bat) do (
if exist %%i copy %%i .&&goto :eof
)
κχυμγνξοθπρωψιαδλεηφβτζσ┬╀┾┳┞┯┰┱┣┲┳╂╁│├┟┭┠这是什么??这就是我的人生
第 3 楼
发表于 2007-05-06 23:25 · 中国 湖北 武汉 电信
中级用户
★★
积分 210
发帖 79
注册 2007-04-14 10:49
UID 85130
性别 男
来自 湖北
状态 离线
第 4 楼
发表于 2007-05-06 23:29 · 中国 广东 湛江 廉江市 电信
高级用户
★★★
积分 959
发帖 311
注册 2006-04-11 14:08
UID 53665
性别 男
来自 广东-LianJiang
状态 离线
我这段代码是搜索整个D盘的内容,如果a.bat在D盘的某个目录内都可以找得到的。
κχυμγνξοθπρωψιαδλεηφβτζσ┬╀┾┳┞┯┰┱┣┲┳╂╁│├┟┭┠这是什么??这就是我的人生
第 5 楼
发表于 2007-05-07 01:45 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
2楼的代码貌似不行。
To zqdarkday:
红色部分为你的盘符列表;
蓝色部分为你复制的目标目录;
请根据情况自行修改。
@echo off
for %%a in (c d e f) do (
for /f "delims=" %%b in ('dir /s/b/a-d %%a:\a.bat 2^>nul') do (
if exist "%%b" echo copy "%%b" D:\
)
)
pause
第 6 楼
发表于 2007-05-07 02:02 · 中国 重庆 江北区 电信
中级用户
★★
金牌会员
积分 315
发帖 152
注册 2007-01-25 23:55
UID 77669
性别 男
状态 离线
set zhao=a.bat
for %%a in (c d e) do for /f "tokens=*" %%i in ('dir /s/b/a-d %%a:\%zhao%') do copy "%%i" 你要保存的位置``
我都试过了 不管你A。BAT在什么地方都可以的``
第 7 楼
发表于 2007-05-07 11:06 · 中国 江西 上饶 电信
中级用户
★★
积分 274
发帖 119
注册 2006-10-17 09:48
UID 66098
状态 离线
Originally posted by lxmxn at 2007-5-7 01:45:
2楼的代码貌似不行。
To zqdarkday:
红色部分为你的盘符列表;
蓝色部分为你复制的目标目录;
请根据情况自行修改。
cmd上显示是在复印。可是到目标目录一看一个文件都没有。
第 8 楼
发表于 2007-05-07 11:54 · 中国 湖北 武汉 电信
中级用户
★★
积分 210
发帖 79
注册 2007-04-14 10:49
UID 85130
性别 男
来自 湖北
状态 离线
谢谢2,4,5楼的高手,其实2楼只是教我一个方法,这个我知道。
其实代码对不对无所谓,不过让我对for的认识又加深了。
再次谢谢大家。
第 9 楼
发表于 2007-05-07 15:56 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
Originally posted by youkkk at 2007-5-7 11:06:
cmd上显示是在复印。可是到目标目录一看一个文件都没有。
去掉copy命令前面的“echo”就可以了。
论坛跳转: