2014-09-01 233 views
1

我想通过使用if来查看一个字符串是否与另一个字符串相同,但字符串中包含空格!如何在“if”中使用空格?

它看起来是这样的:

if %DriveDir%==NOT BOOT FILES echo Working 

简单地说,它说:“BOOT是在这个时候意外”

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

我一直在使用引号和存储在像变量的字符串尝试这个,但没有什么变化。

回答

3

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

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

噢,我的上帝,我完全忘了那个 – cpguy5089 2014-09-02 01:04:40

0

批处理文件的解释是非常直接的。你并没有真正使用变量,它们都被替换为它们在加载时的值。太行

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

被扩大到

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

这显然是语法不正确。你需要在双方都有相同的表达,并且NOT被解析为IF NOT…,所以你需要围绕两个引号。