在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
和" "
)