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
TYPE ステートメントの直前に CLS をループ内に移動することで、より良い結果が得られるかどうか疑問に思っています。