2010-11-18 66 views
1

例如:如何在使用Windows cmdline的长衬里中设置变量?

我想设置一个变量,然后让它在同一行输出。

集/ P消息= & &呼应%MESSAGE%

但它确实不是很喜欢的工作你期望。有没有办法管它回声还是有更好的方式来分隔单独的命令?

谢谢。

+0

非常感谢您的帮助! – max 2010-11-18 22:25:03

回答

2

这不能在这里尝试,因为环境变量被扩展,而解析一行,而不是执行它。由于%MESSAGE%仅在执行第一部分后才有意义,所以这不起作用。

然而,这会:

setlocal enabledelayedexpansion 
set /p MESSAGE= && echo !MESSAGE! 

的延迟扩展的讨论,请参阅help set

+0

由于某些原因,直接在cmd中输入时不起作用 – Lekensteyn 2010-11-18 18:43:00

+2

@Lekensteyn:使用'cmd/v:on'启动'cmd'以启用延迟扩展。 'setlocal'用于批处理文件,就像'goto'一样。它们在交互式命令行中不起作用。 – Joey 2010-11-18 18:43:34

+0

这样做。 – Lekensteyn 2010-11-18 18:45:20