在Windowsbatch file(.BAT)中声明和使用variables

我试图声明和使用我的batch file中的variables。 看起来应该很简单。

@ECHO OFF SET location = "bob" ECHO We're working with "%location%" 

我得到的输出是:

 We're working with "" 

这里发生了什么? 为什么我的variables不被echo'd?

=之前的空格被解释为名称的一部分,并且后面的空格(以及引号)被解释为值的一部分。 所以你创build的variables可以用%location %来引用。 如果这不是您想要的,请删除定义中的额外空间。

空间是重要的。 您创build了一个名称为'location '的variables,其值为' "bob"'

如果你想在你的价值报价,那么你的代码应该看起来像

 set location="bob" 

如果你不想引用,那么你的代码应该看起来像

 set location=bob 

或者更好

 set "location=bob" 

最后的语法可以防止意外的空格进入值,也可以防止像&|这样的特殊字符 等等

inputlocation.bat

 @echo off cls set /p "location"="bob" echo We're working with %location% pause 

产量

 We're working with bob 

(你犯的错误: space" "