中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]用echo >>生成批处理文件的问题
作者:
标题: [求助]用echo >>生成批处理文件的问题 上一主题 | 下一主题
xxuu
初级用户





积分 21
发帖 8
注册 2007-3-11
状态 离线
『楼 主』:  [求助]用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 ]

2008-5-28 22:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

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



2008-5-28 22:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xxuu
初级用户





积分 21
发帖 8
注册 2007-3-11
状态 离线
『第 3 楼』:  



  Quote:
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楼的朋友,能告诉我为什么要多用%%吗?谢谢!

2008-5-29 06:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 4 楼』:  

echo for /r c:\ %%a in (*.doc *.dwg ) do copy /y nul "%%a" ^>nul >c:\del.bat
你在自已的命令中已经写明原因了, ^>nul 这一句,%与>在cmd中都被当做特殊字符,>符号你不转义的话会默认在当前命令行中处理,%符号是因为cmd会默认扩展%符号为变量,所以需要多加一个,或者直接^%^%也可以



49206C6F766520796F752067757973 54656C3A3133383238343036373837
2008-5-29 10:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xxuu
初级用户





积分 21
发帖 8
注册 2007-3-11
状态 离线
『第 5 楼』:  



  Quote:
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中都被当做特殊 ...

谢谢楼上的朋友的解释,我只把>当特殊符号处理了,而忘记了%.

2008-5-31 06:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: