在Windows批处理文件(.BAT)中声明和使用变量

我试图在我的批处理文件中声明并使用一个变量。 它看起来应该很简单。

@ECHO OFF

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

我得到的输出是:

We're working with ""

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


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


空间很重要。 您创建了一个名为(包含单引号添加以显示空间'location ' )的变量'location ' ,其值为' "bob"'

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

set location="bob"

如果你不需要引号,那么你的代码应该看起来像

set location=bob

或者更好

set "location=bob"

最后的语法可以防止无意中的空格进入该值,并且还可以防止出现像&|这样的特殊字符 等等


输入location.bat

@echo off
cls

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

产量

We're working with bob

(你完成的错误: space" "

链接地址: http://www.djcxy.com/p/92303.html

上一篇: Declaring and using a variable in Windows batch file (.BAT)

下一篇: Order in which command prompt executes files with the same name (a.bat vs a.cmd vs a.exe)