您可以使用 FOR /L 循环来引入延迟。这是一个引入大约 100 毫秒延迟的脚本。顶部附近的一个简单测试计算大约 100 毫秒需要多少次迭代。机器之间的数量会有所不同。根据需要调整 msecDelay 的定义以获得您想要的结果。
@echo off
setlocal
:: Compute the number of iterations required to get the desired delay
set msecDelay=100
set ticks=100000
set "start=%time%"
for /l %%N in (1 1 %ticks%) do rem
set "stop=%time%"
for /f "tokens=3,4 delims=:.," %%A in ("%start%") do set /a start=1%%A%%B-10000
for /f "tokens=3,4 delims=:.," %%A in ("%stop%") do set /a stop=1%%A%%B-10000
if %start% gtr %stop% set /a stop+=6000
set /a delay=msecDelay*ticks/(stop-start)/10
MODE CON: COLS=91 LINES=41
cls
:3
FOR /R %%i in (*.txt) do (
type "%%i"
for /l %%n in (1 1 %delay%) do rem
)
goto :3
我想知道通过在循环中移动 CLS 是否会获得更好的结果,就在你的 TYPE 语句之前。