2

我是批处理文件的初学者。所以我正在制作一个基本的批处理文件,当我测试它时,它说The syntax of the command is incorrect.但我很确定它是正确的。我知道它在我编码的 IF 部分,因为我放了几个等待脚本(使用 VBS)。我还没有使用REM,所以我不知道问题是什么。我写的是这样的。

@echo off

b:
set a=1

IF %a%==1 goto :a

:a

echo Test

pause

goto :b

IF %variable%==number我在编码中还有很多其他语句,它们都工作正常。到底是怎么回事?

4

3 回答 3

1

首先,您的标签b在错误的一侧有冒号,将其变成一个尝试将默认驱动器设置为您的第二张软盘的命令:-)

其次,虽然不是绝对必要的,但我更喜欢标签在自己的行:

    @echo off
:b
    set a=1
    IF %a%==1 goto :a
:a
    echo Test
    pause
    goto :b

运行此结果:

C:\Users\Pax\Documents> testprog
Test
Press any key to continue . . . <ENTER>
Test
Press any key to continue . . . <ENTER>
Test
Press any key to continue . . . <ENTER>
Test
Press any key to continue . . . <CTRL-C>
Terminate batch job (Y/N)? y

C:\Users\Pax\Documents> _
于 2012-04-19T03:15:59.837 回答
0

就像paxdiablo说的那样,它可能没有必要,但它可以帮助给标签自己的行,并且可能还有其他一些可能没有必要但可以帮助你有条理的小东西,从长远来看,它可以帮助你的一种方式被修复就是这样的例子。

@echo off
:b
set a=1
IF %a%==1 goto a
:a
echo Test
pause
goto b

IF %a%==1 goto a 可以将其更改为 IF %a% EQU 1 goto a 就像 goto 可以写成 goto :a goto a 一样。可以添加标题 Title title of window 等。

快乐探索。

于 2013-12-07T06:28:04.480 回答
0
IF %a%==1 goto :a

应该

IF %a%==1 goto a

如需进一步帮助,我在这里找到了解决方案:http: //www.computerhope.com/batch.htm 它包含您需要的所有信息。

于 2012-04-19T03:13:29.217 回答