2012-03-25 109 views
1

我想我不明白Windows命令提示符是如何評估相等性的。我有一個看起來像這樣的批次:命令提示符不識別等於

@echo off 
set test=12 
if (%test% EQU 12) echo true 
pause 

這很奇怪,並不是真實的。有人能告訴我爲什麼這是嗎?

回答

6

刪除括號,它會工作:

@echo off 
set test=12 
if %test% EQU 12 echo true 
pause 

IF條件中不使用括號,只需運行if /?,你會得到它的語法信息。

+0

哇!我不認爲這會很簡單!很多其他語言我都習慣於在條件下使用括號。 – LastStar007 2012-03-25 19:50:10

+1

@ LastStar007:在這種情況下,括號參與比較,即實際上比較(評估後)'(12'到'12)',而這兩者本質上是不同的。 – 2012-03-25 23:18:44

相關問題