中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-18 16:05
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一个寻找文件问题!休假最后一天,希望大家帮帮我。 查看 773 回复 8
楼 主 一个寻找文件问题!休假最后一天,希望大家帮帮我。 发表于 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
性别 男
来自 湖北
状态 离线
a.bat不一定在根目录下的
那再用什么办法呢?
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”就可以了。
论坛跳转: