600Infos

  • Schrift vergrößern
  • Standard-Schriftgröße
  • Schriftgröße verkleinern
Home DOS DOS allgemein Wait oder Sleep in der Commandozeile (cmd)

Wait oder Sleep in der Commandozeile (cmd)

E-Mail Drucken

Um eine zeitgesteuerte Pause (wait oder sleep) zu erreichen gibt, es zwei einfache Möglichkeiten...

 

  1. Wir verwenden den Ping auf eine unbekannte IP wobei -w 1000 für 1000ms steht
    ping -n 1 -w 1000 1.2.3.4
  2. Wir generieren ein VB-Script z.B. sleep.vbs oder wait.vbs
    mit nachfolgendem Inhalt. Der Aufruf erfolgt mit sleep.vbs [Sekunden] z.B. für zehn Sekunden: sleep.vbs 10
    Wird kein Argument angegeben wird eine Sekunde gewartet

sleep.cmd [Sekunden]


@echo off
REM sleep.vbs wird im Batch-File generiert, ausgeführt und am Ende wieder gelöscht
set sleep=%temp%\sleep.vbs

echo Option Explicit > %sleep%
echo dim WshShell, timer >> %sleep%
echo Set WshShell = WScript.CreateObject^("WScript.Shell"^) >> %sleep%
echo if Wscript.Arguments.Count ^> 0 then >> %sleep%
echo   timer = ^( WScript.Arguments^(0^) * 1000 ^) - 200 >> %sleep%
echo else >> %sleep%
echo   timer = 800 >> %sleep%
echo end if >> %sleep%
echo wscript.sleep timer >> %sleep%

%sleep% %1

if exist %sleep% del %sleep%


sleep.vbs [Sekunden]

Option Explicit
dim WshShell, timer
Set WshShell = WScript.CreateObject("WScript.Shell")

if Wscript.Arguments.Count > 0 then
  timer = ( WScript.Arguments(0) * 1000 ) - 200
else
  timer = 800
end if

wscript.sleep timer