.bat中的“echo”非常慢

时间:2013-08-12 11:25:45

标签: windows batch-file cmd echo

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

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

我能做些什么才能让它更快

Matrix.bat:

@echo off
color 02

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

1 个答案:

答案 0 :(得分:5)

回声非常慢。因此,在不回显单个字符的情况下构建您的线路,然后立即回显整条线路。 另一个技巧:set /a "l=!random! &1"仅使用!random!中的最后一位(因此它会提供01)。这比处理Integer更快。

@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