【问题标题】:error when calling batch file with no arguments调用不带参数的批处理文件时出错
【发布时间】:2012-08-15 20:32:02
【问题描述】:

我有一个非常简单的批处理脚本:

@echo off

if %1 == a goto AA
if %1 == b goto BB
goto end

:AA
echo a
goto end

:BB
echo b
goto end

:END
echo on

如果我用参数test.bat a 调用它,我会得到我所期望的,但如果我在没有任何参数test.bat 的情况下调用它,我会得到goto was unexpected at this time. 并且违规行是if %1 == a goto AA

为什么?

【问题讨论】:

    标签: windows-7 batch-file


    【解决方案1】:

    当没有参数时,这行if %1 == a goto AA 将变为if == a goto AA

    如果您使用if .%1 == .a goto AA,则该行变为不带参数的if . == .a goto AA,Windows 不会抛出if== 之间没有任何内容的错误

    【讨论】:

      【解决方案2】:

      在每次比较中将变量和值都括在引号中。

      if "%1" == "a" goto AA
      if "%1" == "b" goto BB
      goto end
      

      【讨论】:

        猜你喜欢
        • 2012-07-13
        • 2020-06-05
        • 2011-02-01
        • 2012-01-22
        • 2014-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多