我正在尝试在批处理文件中定义和使用变量。看起来应该很简单:
@echo off
set location = "bob"
echo We're working with "%location%"
我得到的输出如下:
We're working with ""
这是怎么回事?为什么我的变量没有被回声?
名称前的空格被解释为名称的一部分,其后的空格(以及引号)被解释为值的一部分。因此,您创建的变量可以用位置引用
这些空间意义重大。您创建了一个名为“location”的变量,其值为“bob”。注意-添加了封闭的单引号以显示空格的位置。
如果你想在你的值中加上引号,那么你的代码应该看起来像
set location="bob"
如果不需要引号,那么代码应该如下所示
set location=bob
或者更好
set "location=bob"
最后一种语法防止无意中的尾随空格进入值,并防止出现特殊字符,如
输入<代码>位置。bat
@echo off
cls
set /p "location"="bob"
echo We're working with %location%
pause
输出
We're working with bob
(你犯的错误:空格
和""
)