如何在“if”中使用空格?

时间:2014-09-01 03:44:44

标签: batch-file

我试图通过使用if来查看字符串是否与另一个字符串相同,但该字符串包含空格!

它看起来像这样:

if %DriveDir%==NOT BOOT FILES echo Working

简单地说,它说" BOOT此时出乎意料"

if %DriveDir%=="NOT BOOT FILES" echo Working
if %DriveDir%==%nbf% echo Working

我尝试过使用引号并将字符串存储在这样的变量中,但没有任何变化。

2 个答案:

答案 0 :(得分:3)

您还应该为变量添加引号。

if "%DriveDir%"=="NOT BOOT FILES" echo Working

答案 1 :(得分:0)

批处理文件解释非常直观。你并没有真正使用变量,它们都被加载后的值替换。所以这一行

if %DriveDir%=="NOT BOOT FILES" echo Working

扩展到

if NOT BOOT FILES=="NOT BOOT FILES" echo Working

这显然在语法上是不正确的。你需要在两边都有相同的表达式,NOT被解析为IF NOT…,所以你需要用两个引号括起来。