中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 07:53
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 关于搜索子目录下的文件
可打印版本  859 / 7
第1楼 merryheart0424 发表于 2007-04-25 05:25
初级用户 发帖 10 积分 28
关于搜索子目录下的文件
我想搜索C盘的11文件夹下,有与new文件夹下相同的文件,并把他们拷贝到新建的临时文件夹temp3下,我通过下面的代码能够实现把11文件夹根目录下的相应符合的文件考出来,但是不能遍历其子文件夹 ,即不能搜索11下的目录22下的文件,请高手帮忙解决一下啊,谢谢!

@echo off
md c:\temp3\

dir c:\new >c:\b.txt /B

for /f "tokens=* delims=" %%i in (c:\b.txt) do (

cd /d c:\11

if exist %%i copy %%i c:\temp3\ )
第2楼 flyinspace 发表于 2007-04-25 07:26
银牌会员 发帖 517 积分 1,206
dir 加上 /b /s 参数就可以了。
第3楼 merryheart0424 发表于 2007-04-25 09:44
初级用户 发帖 10 积分 28
Originally posted by flyinspace at 2007-4-24 06:26 PM:
dir 加上 /b /s 参数就可以了。



请问是指dir c:\new >c:\b.txt /B/S吗?
我这样试过后发现复制的是new文件夹里面的文件,而不是c:\11下面的 ?
第4楼 everest79 发表于 2007-04-25 09:50
金牌会员 发帖 1,127 积分 2,564
你的要求是那部份不相同?名称?大小?修改时间?有无目标?
第5楼 merryheart0424 发表于 2007-04-25 09:55
初级用户 发帖 10 积分 28
我是要在c:\11下搜索与c:\new内文件相同名字的文件,把它们拷贝出来
第6楼 flyinspace 发表于 2007-04-25 10:05
银牌会员 发帖 517 积分 1,206
下面代码没有测试。。

楼主测试一下吧。
@echo off
dir /b /s c:\new>1.txt
dir /b /s c:\11>2.txt
for /f "tokens=* " %%i in (1.txt) do call :copyfile "%%~ni"
goto :END
:copyfile _filename
for /f "tokens=* " %%i in (2.txt) do (
if "%%~ni"=="%1" xcopy "%%i" "c:\temp3" && goto:EOF
)
goto :EOF
goto :END
第7楼 lxmxn 发表于 2007-04-25 10:23
版主 发帖 4,938 积分 11,386
没有测试。
第8楼 merryheart0424 发表于 2007-04-25 11:01
初级用户 发帖 10 积分 28
多谢各位的帮忙,问题已经解决!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023