如何在命令提示符下循环并每次更改屏幕颜色?

时间:2018-04-12 17:18:20

标签: batch-file cmd

我正在尝试在命令提示符下循环100次,每次都更改控制台颜色(值介于0到7之间,用于设置可能的颜色)。

然而,当我尝试使用color %variablename%时,我总是得到相同的值。

以下是代码:

for /l %i in (0,1,99) do set /a var= %i % 8 & color %var%

set /a var= %i % 7的输出是正确的,即0,1,2,3,4,5,6,7,0,1,2,3,4,.......

然而,当我在每个循环上调用%var%时,每次它总是显示相同的结果时,不会显示不同的结果,因此颜色只会改变一次并且对整个循环保持不变。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

在命令提示符中:

For /F %B In ('"For /L %A In (0 1 99) Do @Set/A %A%8&Echo="') Do @Color %B&Timeout 1 /NoBreak>Nul

我在其中放置1timeout以便您可以看到效果, CTRL + C 退出早

答案 1 :(得分:0)

批处理文件,添加timeout /t 1以显示效果,假设这是您的意思。

@echo off
cls
setlocal enabledelayedexpansion
for /l %%i in (0,1,99) do (
  set /a var=%%i  %% 8
  echo !var!
  timeout /t 1 >nul
  call color !var!
)