我试图将变量中字符串的最后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%
我想在得到一些有关符号字符串的比较帮助之后我能搞清楚,但是我无法把它们放在一起......
答案 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