Batch file 批处理脚本中的单行代码与普通格式

Batch file 批处理脚本中的单行代码与普通格式,batch-file,cmd,Batch File,Cmd,有一天,我很无聊,我打开cmd并输入了这段代码: @echo off&color 0a&set/a count=0&main&set/a count+=1&echo%count%&goto main 令人惊讶的是,程序只执行了一秒钟。0_o 然后,我以正常的批处理脚本格式编写了代码,如下所示: @echo off color 0a set /a count=0 :main set /a count+=1 echo %count% goto :main 显然没有错误,程序运行正常。 那么第一

有一天,我很无聊,我打开cmd并输入了这段代码:
@echo off&color 0a&set/a count=0&main&set/a count+=1&echo%count%&goto main

令人惊讶的是,程序只执行了一秒钟。0_o

然后,我以正常的批处理脚本格式编写了代码,如下所示:

@echo off
color 0a

set /a count=0

:main
set /a count+=1
echo %count%
goto :main
显然没有错误,程序运行正常。

那么第一段代码是怎么回事?命令是相同的(虽然格式不同),但为什么只执行一秒钟


提前谢谢

main没有标签所需的冒号,在复合语句中不能有使用goto的标签,这是您的基本问题。

可能是错误的,但我认为您需要
&&
而不是
&
。不,
&
是正确的。这是一个错误(当然,
goto
在命令行上不起作用-即使标签是正确的(
:main