@echo off :LOOP for /f "usebackq" %%d in (`date /t`) do set NOWDATE=%%d for /f "usebackq" %%t in (`time /t`) do set NOWTIME=%%t if "%1" == "-n" ( set WATCHTIMEOUT=%2 set WATCHCOMMAND=%3 %4 %5 %6 %7 %8 %9 ) else ( set WATCHTIMEOUT=2 set WATCHCOMMAND=%1 %2 %3 %4 %5 %6 %7 %8 %9 ) echo Every %WATCHTIMEOUT%s: %WATCHCOMMAND% %NOWDATE% %NOWTIME% %WATCHCOMMAND% set NOWDATE= set NOWTIME= timeout /nobreak /t %WATCHTIMEOUT% > NUL cls goto LOOP