GOTO返回不正确的语法

时间:2019-02-11 21:45:42

标签: batch-file

我正在尝试编写一段代码,该代码运行一堆回声以显示文本,等待一秒钟,然后以半秒的间隔将命令提示符的文本和背景颜色更改为随机颜色,然后返回从头开始,但是它检查是否已经运行了回声,因此直接跳过了颜色变化,因此它执行了两次,但这是说goto:z(第18行)的命令语法无效,并且我不明白为什么它不起作用。代码如下

set a=0
set HEX=0123456789ABCDEF
:a
rem (Echoes here)
if %a%==0 goto :c 
if %a%==1 goto :b
:c
@TIMEOUT /T 1 /NOBREAK >null
goto :b
:b
if %a%==0 goto :x
if %a%==1 goto :y
:x
set /a "a=1"
goto :z
:y
set /a "a=0"
goto :z
:z
if %a%==1
goto :f
if %a%==0
goto :g
:f
ping 127.0.0.1 -n 1 -w 500> nul
set /a rand1=%random% %% 16
set /a rand2=%random% %% 16
call set hexcolors=%%HEX:~%rand1%,1%%%%HEX:~%rand2%,1%%
color %hexcolors%
:g
goto :a

第28行最初是if %a%a(...),但已更正为if %a%(...)

0 个答案:

没有答案