Alle Windows-Kommandos

Liste der Windows-Kommandozeilentools - Kommandos und -Befehle unter MS Windows

Liste der Windows-eigenen Kommandos

setlocal

Übersicht

Befehl
Kurzbeschreibung
Syntax
Beispiele
     Sonderzeichen ersetzen


Befehlsetlocal
KurzbeschreibungStartet die Begrenzung des Gültigkeitsbereiches von Änderungen.
Syntax
Hinweis: Dies ist ein internes Kommando. 
Kommando zum Anzeigen der Hilfe: setlocal /? 

Startet die Begrenzung des Gültigkeitsbereiches von Änderungen.
Änderungen der Umgebung nach SETLOCAL sind nur auf die Batchdatei bezogen.
Um die ursprünglichen Einstellungen wiederherzustellen, muss der Befehl
ENDLOCAL ausgeführt werden. Beim Erreichen des Endes einer Batchdatei wird ein
impliziertes ENDLOCAL für jegliche ausstehende SETLOCAL-Befehle ausgeführt.

SETLOCAL

Mit den Befehlserweiterungen wird der SETLOCAL-Befehl folgendermaßen verändert:
        ENABLEEXTENSIONS / DISABLEEXTENSIONS
            Aktiviert bzw. deaktiviert Befehlserweiterungen. Geben Sie
            CMD /? ein, um weitere Informationen zu erhalten.
        ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
            Aktiviert bzw. deaktiviert die verzögerte Erweiterung von
            Umgebungsvariablen. Geben Sie SET /? ein, um weitere Informationen
            zu erhalten.
Diese Änderungen sind bis zum nächsten ENDLOCAL-Befehl gültig,
und zwar unabhängig von vorherigen Einstellungen.

Der SETLOCAL-Befehl legt einen ERRORLEVEL fest, wenn ein Argument angegeben
wird. Dieser ist gleich Null für eines der beiden gültigen Argumente und
gleich Eins andernfalls. Das kann man in Batchprogrammen verwenden, um
festzustellen, ob die Befehlserweiterungen zur Verfügung stehen. Siehe dazu
auch folgendes Beispiel:

    VERIFY OTHER 2>nul
    SETLOCAL ENABLEEXTENSIONS
    IF ERRORLEVEL 1 echo   keine Befehlserweiterungen

Dieses Verfahren kann man verwenden, weil in älteren Versionen von CMD.EXE der
SETLOCAL-Befehl keinen ERRORLEVEL festlegt. Der VERIFY-Befehl mit einem
ungültigen Argument initialisiert den Wert für den ERRORLEVEL mit ungleich
Null.
Beispiele

Sonderzeichen ersetzen

Für eine Batchdatei, die Screenshots von Webseiten erstellt, habe ich den Ausgabedateinamen anhand der URL erzeugt. Dabei muss man für Dateinamen ungültige Zeichen aus der URL bereinigen - ich habe sie wie folgt durch einen Unterstrich erstetzt: Eine Variable search nimmt alle Sonderzeichen auf, die ersetzt werden sollen. Über diese Liste von Zeichen wird mit einer For-Schleife geloopt und die Variable mit dem Dateinamen der Ausgabedatei myfile zeichzenweise ersetzt.

(...)

:: Ausgabeverzeichnis
set outdir=...
(...)

:capture
set "myurl=%~1"
set "myfile=%~1"

SETLOCAL EnableDelayedExpansion
SET "search=: / . ? & = % "

for %%s in (!search!) do (
	SET "myfile=!myfile:%%~s=_!"
)
set myfile=%myfile%.png

:: Bildschirmfoto erstellen
IECapt --url="%myurl%" --out="%outdir%\%myfile%" --min-width=1200 --max-wait=5000

s.a. » set


Übersicht