中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 19:03
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]这个FOR命令错在哪里?
可打印版本  639 / 7
第1楼 xxuu 发表于 2008-05-28 09:09
初级用户 发帖 8 积分 21
[求助]这个FOR命令错在哪里?
@echo off
for /r a:\ %%a in (*.doc *.txt *.xls) do copy /y nul %%a >nul
执行时,只对xls文件有效,不知错在哪里,请大家指教!谢谢!
第2楼 easonL 发表于 2008-05-28 09:45
初级用户 发帖 56 积分 118 来自 南京
我也是菜鸟
我来学习学习,楼主能不能给我解析下copy /y nul %%a >nul,是什么意思啊?我看下文档,不是很理解。

然后我运行下
for /r D:\batch\test %%a in (*.doc *.txt *.xls) do echo %%a
结果是:
D:\batch\test\1.xls
D:\batch\test\Folder\1.xls
D:\batch\test\Folder1\New text file.txt
D:\batch\test\Folder2\New Microsoft Word 文書.doc
D:\batch\test\Folder2\New text file.txt

能遍历所有类型的文件啊,所以我觉得我理解的跟你需求有差异了
第3楼 pooronce 发表于 2008-05-28 09:47
中级用户 发帖 250 积分 484
"%%a"

因为有些文件路径中有空格,我想多数错误情况是出在这里

lz这句可能只是测试用的吧,或者另一种遍历并测试文件内容有效的方法吧。期待lz出来说明
第4楼 FQ 发表于 2008-05-28 09:55
社区乞丐 发帖 37 积分 -61
楼主的P有点那个,清除文件也不跟大家说一下,大家别运行就成了
COPY NUL 目标文件 这样会清除目标文件内容,但其还是存在的,只不过已经没有数据了
第5楼 easonL 发表于 2008-05-28 11:16
初级用户 发帖 56 积分 118 来自 南京
Originally posted by FQ at 2008-5-28 09:55 AM:
楼主的P有点那个,清除文件也不跟大家说一下,大家别运行就成了
COPY NUL 目标文件 这样会清除目标文件内容,但其还是存在的,只不过已经没有数据了



呵呵,猜对了!养成好习惯还是必须的啊,我是建一个测试目录来测试的,否则。。。。。
第6楼 pooronce 发表于 2008-05-28 11:29
中级用户 发帖 250 积分 484
errr... 想成copy a+b去了
都没去细想这命令到底做啥的,迟钝了-_-#
第7楼 xxuu 发表于 2008-05-28 11:30
初级用户 发帖 8 积分 21
4楼的朋友不要误会,,这条命令是在A盘上测试的,不会清除文件。
想测试的朋友不要修改驱动器号.只是我在A盘上测试不成功,请指教.

[ Last edited by xxuu on 2008-5-28 at 11:34 AM ]
第8楼 bsmqu 发表于 2008-05-28 11:36
初级用户 发帖 6 积分 114
for /r i:\tddownload %i in (*.doc *.txt *.xls *.td) do @echo %i
我这个运行成功。楼主看看吧
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023