提问者:小点点

在批处理文件中定义和使用变量


我正在尝试在批处理文件中定义和使用变量。看起来应该很简单:

@echo off

set location = "bob"
echo We're working with "%location%"

我得到的输出如下:

We're working with ""

这是怎么回事?为什么我的变量没有被回声?


共3个答案

匿名用户

名称前的空格被解释为名称的一部分,其后的空格(以及引号)被解释为值的一部分。因此,您创建的变量可以用位置引用

匿名用户

这些空间意义重大。您创建了一个名为“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

(你犯的错误:空格""