首页 文章

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

提问于
浏览
369

我正在尝试在我的批处理文件中声明并使用变量 . 它看起来应该很简单 .

@ECHO OFF

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

我得到的输出是:

We're working with ""

这里发生了什么?为什么我的变量没有被回应?

3 回答

  • 222

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

  • 477

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

    如果你想要 Value 的报价,那么你的代码应该是这样的

    set location="bob"
    

    如果您不想要引号,那么您的代码应如下所示

    set location=bob
    

    或者更好

    set "location=bob"
    

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

  • 5

    输入 location.bat

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

    产量

    We're working with bob
    

    (你做错了: space" "

相关问题