Benutzer-Werkzeuge

Webseiten-Werkzeuge


dos:sleep

Wait oder Sleep in der Commandozeile (cmd)

Um eine zeitgesteuerte Pause (wait oder sleep) zu erreichen gibt, es 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
  3. Wir holen uns eine sleep.exe z.B. von UnxUtils, rktools, CoreUtils, git (GNU sh-utils) und stellen diese in den Suchpfad von Windows

sleep.cmd

Einfaches Komandozeilenprogramm bzw. Batchfile mit Erstellung einer vbs

sleep.cmd
@echo off
REM #########################################
REM Form: sleep.cmd [Sekunden]
REM
REM sleep.vbs wird im Batch-File generiert, 
REM ausgeführt und am Ende wieder gelöscht
REM #########################################
 
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

Form: sleep.vbs [Sekunden]

sleep.vbs
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
dos/sleep.txt · Zuletzt geändert: 2013/07/02 09:21 von Admin