Benutzer-Werkzeuge

Webseiten-Werkzeuge


pc:microsoft:batch

Windows Batch Script

alternative zu Batch Script: Windows PowerShell 1.0

  • Dateiendung
    • Windows NT / 2000 / XP / 2003 / usw. = .cmd / .bat
    • Windows 9x / Me = .bat
  • Zeichensatz: ASCI

Beispiele

  • ping.bat:
    @echo off
    echo Teste ping auf google.de
    
    ping.exe -n 2 google.de >nul
    if errorlevel 1 (
    	echo Fehler
    	goto END
    )
    if errorlevel 0 (
    	echo OK
    	goto END
    )
    
    :END
    pause
  • Aktuellen Pfad feststellen
    • echo %~dp0 oder set _CURRENTPATH=%~dp0 Ausgabe: C:\Test\ (nur in Batch verfügbar)
    • echo %1 oder set _CURRENTPATH=%1 (nur in Batch verfügbar) ToDo
    • echo %CD% Ausgabe: C:\Test (nur in Batch verfügbar, ab Windows XP ?)
  • start
    • start /w kurzer_pfad\setup.exe
    • start /w kurzer_pfad\setup.exe /switch
    • start „“ /w „ein langer pfad\das setup.exe“
    • start „“ /w „ein langer pfad\das setup.exe“ /switch
  • if
    • set _TEST=1
      if 1==%_TEST% echo TEST vorhanden
    • IF EXIST test.txt (
              del test.txt
          ) ELSE (
              echo test.txt fehlt
          )
  • Programm von UNC Pfad aus Batch starten
    • Von bestimmten Pfad starten:
      start "" /w "\\server\public\software\setup.exe" /sp- /silent /norestart
    • Ausgehend vom Pfad der Batch starten:
      start "" /W "%~dp0software\setup.exe" /sp- /silent /norestart
  • Umleitungen und Pipes
    • „Das ist ein Test“ an Datei Test.txt umleiten: echo Das ist ein Test > Test.txt
    • „Das ist ein Test“ an Datei Test.txt anhängen: echo Das ist ein Test » Test.txt (Wird erstellt wenn nicht vorhanden)
    • Eingabe an Programm senden mittels Pipe: echo Y | programm.exe
  • Titel des Fensters ändern title Beispiel
  • Mehrere Befehle mit einander verbinden echo Beispiel Text && title Beispiel Titel

Schleife "x" mal ausführen

Das folgende Code-Fragment führt den (Dummy-) Befehl „echo …“ fünfmal hintereinander aus. Möglich sind Wiederholraten bis zu etwa 100.

set counter=
:Nochmal
echo Counter-Stand: %counter%
set counter=%counter%x
if not (%counter%) == (xxxxx) goto Nochmal
set counter=

Anstelle des „echo“-Befehles setzen Sie den Code, der mehrmals ausgeführt werden soll. Der Trick beruht darauf, dass an die Umgebungsvariable „counter“ bei jedem Schleifendurchlauf der Buchstabe „x“ angehängt wird, bis die Variable die Zeichenkette „xxxxx“ enthält (also 5 Zeichen lang ist).

Quelle: http://www.dosware.de/home/tips.htm#t16

weitere Infos

pc/microsoft/batch.txt · Zuletzt geändert: 2008/07/13 02:23 (Externe Bearbeitung)