2015-10-27 81 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