![]() |
中国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 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 |