我被一個愚蠢而簡單的問題困擾着瘋狂,這個問題耗盡了我的時間。我只想追加由逗號分隔的字符串,但逗號不會被追加。下面是我的批處理文件片段:無法連接以逗號分隔的字符串
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