批处理:如何检查同一批中包含空格的变量

时间:2013-12-07 00:27:00

标签: batch-file

我想知道是否可以在同一个批处理文件中的变量中使用空格,并将其与另一个变量进行比较,即使它们都有空格。

示例:

@echo off
CLS
set var1=variable 1
set var2=variable 2
IF %var1%==%var2% (
goto matches
) else (
goto doesnt
)
:matches
echo.
echo  Both the Variables Match!
echo.
pause
exit
:doesnt
echo.
echo  Both the Variables DO NOT Match!
echo.
pause
exit

只是添加该代码作为示例,因为一种简单的学习方法我可以将它作为参考来帮助我记住。

向我展示如何使上面的例子起作用,如果它仍然包含其空格可以匹配变量,那将对我有很大的帮助。我对Batch很了解,只是不知道如何以这种方式获取空间来处理变量。感谢您的时间,希望有一个解决方案。

2 个答案:

答案 0 :(得分:3)

根据malexander的答案,将值括在引号中通常会起作用。但如果值已包含引号,则可能会失败。

如果您想成功比较变量中的值,无论内容是什么,那么您需要延迟扩展:

setlocal enableDelayedExpansion
if !var! == !var2!

答案 1 :(得分:2)

在变量周围加上引号。

IF "%var1%"=="%var2%"