Windows script to sleep for a while.
Compatible with WinXP, Win7, and newer.
MUST be called with a "call sleep.bat xx" line because the "exit" statement would close the caller script otherwise.
REM Windows sleep script by Justin MASSIOT REM Example use to sleep for 15 seconds: "call sleep.bat 15" @echo off REM Check if the sleep time is defined if "%1"=="" ( goto usage ) REM Check if the time is greater than 0 if %1 leq 0 ( goto usage ) REM When using the "ping" hack, we must add 1 sec to the time because there is an offset set /a time_ping=%1+1 :sleep REM Extract the numeric version of Windows from "ver.exe": "... [version X.X ...]" for /f "tokens=2 delims=[" %%a in ('ver ^| findstr /v "linux"') do @set winver=%%a REM Then we get the X.X version by removing the 8 first characters REM Extract the version number (X.X), and do different actions if greater or equal than 6.0 (Vista and newer) or less than 6.0 (XP and older) if %winver:~8,3% geq 6.0 ( REM Windows Vista, 7 and newer timeout %1 ) else ( REM Windows XP, 2000 (and older?) echo. REM The following line is a HACK to sleep in Win XP and older echo Waiting for %1 second^(s^)... ping -n %time_ping% 127.0.0.1 > nul ) goto eof :usage echo Usage: echo SLEEP time_in_seconds sleep 2 :eof