2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« WScript.ShellのExec()でコンソールアプリを非表示で実行する。 | トップページ | バッチファイルで作るteeコマンド »

2007年5月13日 (日)

バッチファイルで作るtail -fコマンド

unixのtail -fコマンド擬似をバッチファイル機能だけで作ります。

tail-f.CMD 入力ファイル

@ECHO OFF
SETLOCAL
IF NOT EXIST "%~1" (
ECHO Usage: %~nx0 入力ファイル
GOTO :EOF
)
SET SS=0
SET LL=0
:TOP
IF %SS%==%~z1 (
rem SLEEP 1
ping localhost -n 2 >NUL
CMD /C "TYPE NUL>>%1" 2>NUL
IF NOT ERRORLEVEL 1 GOTO :EOF
GOTO :TOP
)
SET SS=%~z1
FOR /F "delims=[] tokens=1*" %%1 IN ('FIND /N /V "" ^<%1 ^|MORE +%%LL%%') DO (
SET LL=%%1
ECHO:%%2
)
GOTO :TOP

入力ファイルが出力オープンされている間は監視が継続します。
入力ファイルへの出力オープンがクローズされると終了します。

« WScript.ShellのExec()でコンソールアプリを非表示で実行する。 | トップページ | バッチファイルで作るteeコマンド »