批处理 - 字符串与符号的比较结束

时间:2015-10-28 23:55:39

标签: string batch-file symbols string-comparison

我试图将变量中字符串的最后4个字符与带符号的字符串进行比较 带有要比较的符号的字符串是"%1" (包括引文)。
变量中的字符串可以包含空格,引号,斜线等。

  

var =" C:/ / here / there" / abc"%1"

例如:

if substr(%var%,-4) neq '"%1"' ( echo %var% )

我尝试了各种形式,我的最新内容如下:

if %var:~-4% neq """%%1""" echo %var%

if "%str:"=*%%str:"=#%" neq "*%%1*#%%1#" echo %var%

我想在得到一些有关符号字符串的比较帮助之后我能搞清楚,但是我无法把它们放在一起......

1 个答案:

答案 0 :(得分:0)

这里的问题是引用可能导致语法错误的引号,但使用延迟扩展可以避免这些问题:

@echo off
setlocal EnableDelayedExpansion

set symbols="%%1"

set /P "var=Enter value: "
if "!var:~-4!" neq "!symbols!" echo !var!

示例:

C:\> test.bat
Enter value: One Two Three "%1"

C:\> test.bat
Enter value: One Two Three
One Two Three