我是批处理文件的初学者。所以我正在制作一个基本的批处理文件,当我测试它时,它说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
语句,它们都可以正常工作。发生了什么事?
答案 0 :(得分: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> _
答案 1 :(得分:0)
IF %a%==1 goto :a
应该是
IF %a%==1 goto a
为了获得进一步的帮助,我在这里找到了解决方案:http://www.computerhope.com/batch.htm 它拥有您需要的所有信息。
答案 2 :(得分: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
或 {{1} } 。
可以使用 goto a
等添加标题。
快乐探索。