中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 13:40
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助] FOR /F %%i ('command') 形式的for语句无法执行 查看 915 回复 8
楼 主 [求助] FOR /F %%i ('command') 形式的for语句无法执行 发表于 2010-03-08 16:31 ·  美国 华盛顿州 金 雷德蒙德 Microsoft
新手上路
积分 6
发帖 6
注册 2009-09-02 06:51
16年会员
UID 151343
性别 男
状态 离线
比如,
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 ]
2 发表于 2010-03-08 16:49 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
XP SP3 通过。。。
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
3 发表于 2010-03-08 16:59 ·  美国 华盛顿州 金 雷德蒙德 Microsoft
新手上路
积分 6
发帖 6
注册 2009-09-02 06:51
16年会员
UID 151343
性别 男
状态 离线
Originally posted by slore at 2010-3-8 16:49:
XP SP3 通过。。。


所以我才说诡异啊

在我自己的电脑上运行报错,可是把这个cmd文件拷贝到另外一台相同操作系统版本的电脑上跑时就能正确运行。。。
4 发表于 2010-03-08 17:56 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
你单独用echo HelloWorld! 可以么?
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
5 发表于 2010-03-08 18:05 ·  美国 华盛顿州 金 雷德蒙德 Microsoft
新手上路
积分 6
发帖 6
注册 2009-09-02 06:51
16年会员
UID 151343
性别 男
状态 离线
Originally posted by slore at 2010-3-8 17:56:
你单独用echo HelloWorld! 可以么?


没问题
6 发表于 2010-03-08 18:50 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
cmd下直接运行:
For /f %i in ('echo HelloWorld!') do echo %i

可以不?
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
7 发表于 2010-03-09 16:43 ·  美国 华盛顿州 金 雷德蒙德 Microsoft
新手上路
积分 6
发帖 6
注册 2009-09-02 06:51
16年会员
UID 151343
性别 男
状态 离线
也不行,相同的错误

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

估计是/f 参数和 'each HelloWorld!' 这个command有冲突
8 发表于 2010-03-11 19:40 ·  中国 陕西 西安 电信
新手上路
积分 17
发帖 10
注册 2010-03-01 20:58
16年会员
UID 161416
性别 男
来自 安徽
状态 离线
有时候电脑也玩脾气
9 发表于 2010-03-11 22:51 ·  中国 浙江 杭州 联通
新手上路
积分 8
发帖 7
注册 2010-03-09 23:06
16年会员
UID 161904
性别 女
状态 离线
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 什么原因?
论坛跳转: