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

Batch file 批处理:如何检查同一批中包含空格的变量,batch-file,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 Bot

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

示例:

@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
只需添加代码作为示例,因为这是一种简单的学习方法,我可以使用它作为参考,帮助我记住


向我展示如何使上面的示例起作用,如果能够在仍然包含空格的情况下匹配变量,将对我大有帮助。我对批处理很了解,只是不知道如何让空间以这种方式在变量中工作。感谢您的时间,希望有一个解决方案。

在变量周围加上引号

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

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

如果要成功比较变量中的值,无论内容如何,则需要延迟扩展:

setlocal enableDelayedExpansion
if !var! == !var2!

谢谢你的帮助,真不敢相信我忽略了这么简单的事情哈哈,无论如何谢谢你知道!好的,谢谢你的第二个选择,我会记住的:我真的很感谢你的帮助