在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
和" "
)
上一篇: 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)