1

我写了一个小 .bat 文件,希望能够创建一个类似矩阵(0 和 1)的输出。

问题是,它很慢,填满一行需要将近两秒钟。

我能做些什么让它运行得更快吗?

矩阵.bat:

@echo off
color 02

:start
if %random% LSS 16384 (
echo|set /p=1
) else (
echo|set /p=0
)
goto start
4

1 回答 1

5

回声很慢。因此,在不回显单个字符的情况下构建您的行,然后一次回显整行。另一个技巧:仅set /a "l=!random! &1"使用最后一位!random!(因此它给出了0or 1)。这比处理整数更快。

@echo off
setlocal ENABLEDELAYEDEXPANSION
:start
set line=
for /L %%i in (1,1,80) do (
    set /a "l=!random! &1"
    set line=!line!!l!
  ) 
  echo !line! 
)
goto start
于 2013-08-12T12:36:42.917 回答