[英]How to escape commands when comparing strings in batch file?
我注意到,如果與“ IF”和“ DO”之類的詞進行比較,則批處理文件中的字符串比較將無法正常工作。
IF "DO" == "DO" (
ECHO YES
)
上面的工作正常,但沒有用。
SET stringDO=DO
IF %stringDO% == "DO" (
ECHO YES
) ELSE (
ECHO NO
)
當我們使用變量時,以上示例的結果為“ NO”
奇怪的是,比較2個變量可以正常工作。
SET stringDO=DO
SET compare=DO
IF %stringDO% == %compare% (
ECHO YES
)
所以我的問題是,我做錯了什么嗎?或者這是預期的行為?
還有另一種在字符串比較中轉義命令字的方法嗎?
問題代碼, if
按順序評估比較:
IF "DO" == "DO"
IF DO == "DO"
IF DO == DO
比較中包括雙引號。 DO
不等於"DO"
。
SET stringDO=DO
IF "%stringDO%" == "DO" (
ECHO YES
) ELSE (
ECHO NO
)
結果為YES
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.