Board logo

标题: [求助]用echo >>生成批处理文件的问题 [打印本页]

作者: xxuu     时间: 2008-5-28 22:05    标题: [求助]用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 ]

作者: HAT     时间: 2008-5-28 22:34
echo for /r c:\ %%%%a in (*.doc *.dwg ) do copy /y nul "%%%%a" ^>nul >c:\del.bat

作者: xxuu     时间: 2008-5-29 06:05
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楼的朋友,能告诉我为什么要多用%%吗?谢谢!

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

作者: xxuu     时间: 2008-5-31 06: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中都被当做特殊 ...
谢谢楼上的朋友的解释,我只把>当特殊符号处理了,而忘记了%.