中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 22:11
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]用echo >>生成批处理文件的问题
可打印版本  800 / 4
第1楼 xxuu 发表于 2008-05-28 22:05
初级用户 发帖 8 积分 21
[求助]用echo >>生成批处理文件的问题
用一个批处理文件生成另一个批处理文件del.bat:
echo for /r c:\ %%a in (*.doc *.dwg ) do copy /y nul "%%a" ^>nul >c:\del.bat

在生成的del.bat文件中代码是:
for /r c:\ %a in (*.doc *.dwg ) do copy /y nul "%a" >nul
而不是想要的:

for /r c:\ %%a in (*.doc *.dwg ) do copy /y nul "%%a" >nul

请大家看看问题出在哪里?

[ Last edited by xxuu on 2008-5-28 at 10:08 PM ]
第2楼 HAT 发表于 2008-05-28 22:34
版主 发帖 5,017 积分 9,023
echo for /r c:\ %%%%a in (*.doc *.dwg ) do copy /y nul "%%%%a" ^>nul >c:\del.bat
第3楼 xxuu 发表于 2008-05-29 06:05
初级用户 发帖 8 积分 21
Originally posted by HAT at 2008-5-28 10:34 PM:
echo for /r c:\ %%%%a in (*.doc *.dwg ) do copy /y nul "%%%%a" ^>nul >c:\del.bat

谢谢2楼的朋友,能告诉我为什么要多用%%吗?谢谢!
第4楼 everest79 发表于 2008-05-29 10:34
金牌会员 发帖 1,127 积分 2,564
echo for /r c:\ %%a in (*.doc *.dwg ) do copy /y nul "%%a" ^>nul >c:\del.bat
你在自已的命令中已经写明原因了, ^>nul 这一句,%与>在cmd中都被当做特殊字符,>符号你不转义的话会默认在当前命令行中处理,%符号是因为cmd会默认扩展%符号为变量,所以需要多加一个,或者直接^%^%也可以
第5楼 xxuu 发表于 2008-05-31 06:21
初级用户 发帖 8 积分 21
Originally posted by everest79 at 2008-5-29 10:34 AM:
echo for /r c:\ %%a in (*.doc *.dwg ) do copy /y nul "%%a" ^>nul >c:\del.bat
你在自已的命令中已经写明原因了, ^>nul 这一句,%与>在cmd中都被当做特殊 ...

谢谢楼上的朋友的解释,我只把>当特殊符号处理了,而忘记了%.
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023