Board logo

标题: [文本处理] 批处理for循环中echo无法输出括号? [打印本页]

作者: nianhuaxpj    时间: 2010-11-10 00:23     标题: 批处理for循环中echo无法输出括号?

  1. @echo off
  2. for %%i in ("xp") do (
  3. echo run("C.exe")
  4. )
  5. pause
复制代码


代码片段如上  ,最后输出:  run("C.exe"   无法输出),这是for循环的一个bug吗?
作者: hfg1977    时间: 2010-11-10 01:43

run("C.exe")  前面的"(" 作为了普通字符,后面的")" 被当成特殊字符,封闭"do (".

同样的问题在 if 语句一样存在, echo 输出时 加"^" 符号以示区别.
这不能算是bug,是你的书写方法不对.
  1. @echo off
  2. for %%i in ("xp") do (
  3. echo run^("C.exe"^)
  4. )
  5. pause
复制代码

作者: nianhuaxpj    时间: 2010-11-10 09:32     标题: 回复 2楼 的帖子

问题解决了  多谢hfq1977




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2