2015-10-27 31 views
2

如何使用包含符號的字符串進行字符串比較? 在我的特殊情況下,我試圖將一個字符串與「%1」(包括引號)進行比較。批處理字符串與符號比較

例如:

if "%var%" neq '"%1"' (echo %var%) 

我曾嘗試過各種形式,我最新的模樣:

if "%var%" neq """%%1""" 
+0

您試圖查看變量'%var%'是否包含文字字符串'「%1」'? – SomethingDark

+0

爲什麼%var%已經在變量中有引號? – Squashman

回答

2

而比較變量中的引號用別的東西代替。而如果var已經在那些地方該符號也有兩種不同的人物相比,使這一招通用:

if "%var:"=*%%var:"=#%" neq "*%%1*#%%1#" echo Yay! 
0

爲了防止覺得批次你在談論的%1腳本參數,你需要將百分號加倍。它也不傷害不使用==運營商雙方的報價,但你不必。

@echo off 

cls 
set /p var= 

if [%var%]==["%%1"] echo yes 
pause 

如果你想使用引號,你可以。

if "%var%"==""%%1"" echo yes 
+0

如果'var'具有可能包含空格的未知值,則此方法將由於語法錯誤而失敗。 – wOxxOm

+0

而第二個代碼將顯示一個語法錯誤,以防var'引號和空格在內部像''a b c''一樣。 – wOxxOm