如何在批处理中使用if和else之类的东西

时间:2017-09-07 18:04:48

标签: batch-file if-statement cmd

@echo off
mode 1000
goto block1


:block1
echo color
goto block2


:block2
pause
set /a num=%random% %%5
goto 0

:0
if num == 0 goto a
goto 1


:1
if num == 1 goto b
goto 2


:2
if num == 2 goto c
goto 3


:3
if num == 3 goto d
goto 4


:4
if num == 4 goto e
goto 5


:5 
if num == 5 goto f
goto 0

:a
color 0a
goto block2


:b
color 0b
goto block2


:c
color 0c
goto block2


:d
color 0d
goto block2


:e
color 0e
goto block2


:f
color 0f
goto block2

我想制作一个颜色标志女巫改变颜色,我想使用像这样的simething。但我不能批量使用其他,它需要类似的东西

1 个答案:

答案 0 :(得分:0)

  • 从批处理角度来看,几乎所有goto都是无用的 导致意大利面条代码。
  • 你知道颜色瑕疵会影响整个屏幕吗?
  • %random%模数5只能返回0..4

您的代码缩短了:

@echo off
mode 1000
echo color
:block2
pause
set /a num=%random% %%5
if %num% == 0 color 0a
if %num% == 1 color 0b
if %num% == 2 color 0c
if %num% == 3 color 0d
if %num% == 4 color 0e
goto block2