我被一个愚蠢而简单的问题困扰着疯狂,这个问题耗尽了我的时间。我只想追加由逗号分隔的字符串,但逗号不会被追加。下面是我的批处理文件片段:无法连接以逗号分隔的字符串
set MissingParams=
set SwitchURL=
set TrustStore=
if 0%SwitchURL%==0 (set MissingParams=SwitchURL)
if 0%TrustStore%==0 (
if not 0%MissingParams%==0 (
set MissingParams=%MissingParams%,
)
set MissingParams=%MissingParams%TrustStore
)
飞奔这个剧本后,当我回声%MisingParams%
,预期值是SwitchURL,TrustStore
但它只是简单地打印
SwitchURLTrustStore
。
D:\deleteme>echo %MissingParams%
SwitchURLTrustStore
对于调试,当我介绍在批处理文件中的一些echo语句,结果是更加的bizzare:
set MissingParams=
if 0%SwitchURL%==0 (set MissingParams=SwitchURL)
if 0%TrustStore%==0 (
if not 0%MissingParams%==0 (
echo MissingParams=%MissingParams%
set MissingParams=%MissingParams%,
echo MissingParams=%MissingParams%
)
set MissingParams=%MissingParams%TrustStore
echo MissingParams=%MissingParams%
)
当我运行上面的脚本它打印
MissingParams=SwitchURL
MissingParams=SwitchURL
MissingParams=SwitchURL
并且当我回显命令提示符的值时,与以前一样SwitchURLTrustStore
D:\deleteme>echo %MissingParams%
SwitchURLTrustStore
有没有人有任何想法?这令我沮丧不已。
它的工作原理。什么是!变量! ?我总是使用%变量%。 – 2011-02-18 03:42:55