Board logo

标题: [求助] FOR /F %%i ('command') 形式的for语句无法执行 [打印本页]

作者: rebuca     时间: 2010-3-8 16:31    标题: [求助] FOR /F %%i ('command') 形式的for语句无法执行

比如,
For /f %%i in ('echo HelloWorld!') do echo %%i

无法正确执行,报如下错误:

'echo HelloWorld!' is not recognized as an internal or external command, operable program or batch file.

但相同的代码在别的电脑上可以正确执行,结果如下

HelloWorld!
Press any key to continue . . .


真是诡异啊,请指教,谢谢。

[ Last edited by rebuca on 2010-3-8 at 16:33 ]
作者: slore     时间: 2010-3-8 16:49
XP SP3 通过。。。
作者: rebuca     时间: 2010-3-8 16:59


  Quote:
Originally posted by slore at 2010-3-8 16:49:
XP SP3 通过。。。

所以我才说诡异啊

在我自己的电脑上运行报错,可是把这个cmd文件拷贝到另外一台相同操作系统版本的电脑上跑时就能正确运行。。。
作者: slore     时间: 2010-3-8 17:56
你单独用echo HelloWorld! 可以么?
作者: rebuca     时间: 2010-3-8 18:05


  Quote:
Originally posted by slore at 2010-3-8 17:56:
你单独用echo HelloWorld! 可以么?

没问题
作者: slore     时间: 2010-3-8 18:50
cmd下直接运行:
For /f %i in ('echo HelloWorld!') do echo %i

可以不?
作者: rebuca     时间: 2010-3-9 16:43
也不行,相同的错误

For %i in ('echo HelloWorld!') do echo %i
For /f %i in ("echo HelloWorld!") do echo %i
都可以运行

估计是/f 参数和 'each HelloWorld!' 这个command有冲突
作者: ljm123     时间: 2010-3-11 19:40
有时候电脑也玩脾气
作者: newborenee     时间: 2010-3-11 22:51


  Quote:
Originally posted by rebuca at 2010-3-9 16:43:
也不行,相同的错误

For %i in ('echo HelloWorld!') do echo %i
For /f %i in ("echo HelloWorld!") do echo %i
都可以运行

估计是/f 参数和 'each HelloWorld!' 这个command有冲突

'each HelloWorld!' 应该不是命令吧? 不是作为一个字符串处理的嘛?
我运行都通过,只是单引号结果是 helloworld 双引号是 echo  什么原因?