簡體   English   中英

比較批處理文件中的字符串時如何轉義命令?

[英]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按順序評估比較:

  1. IF "DO" == "DO"
  2. IF DO == "DO"
  3. 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM