我想知道是否可以在同一个批处理文件中的变量中使用空格,并将其与另一个变量进行比较,即使它们都有空格。
示例:
@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很了解,只是不知道如何以这种方式获取空间来处理变量。感谢您的时间,希望有一个解决方案。
答案 0 :(得分:3)
根据malexander的答案,将值括在引号中通常会起作用。但如果值已包含引号,则可能会失败。
如果您想成功比较变量中的值,无论内容是什么,那么您需要延迟扩展:
setlocal enableDelayedExpansion
if !var! == !var2!
答案 1 :(得分:2)
在变量周围加上引号。
IF "%var1%"=="%var2%"