| Zweck: | Ausführen eines Befehls im aktuellen Verzeichnis und seinen Unterverzeichnissen |
| Format: | GLOBAL [/= /H /I /J /N /P /Q /S[+]n] command |
| command | Der auszuführende Befehl, einschließlich Parameter und Schalter. |
Verwendung:
GLOBAL führt den Befehl zuerst im aktuellen Verzeichnis aus . Dann wird jedes Unterverzeichnis unterhalb des aktuellen Verzeichnisses zum aktuellen Arbeitsverzeichnis gemacht und der Befehl in diesem Verzeichnis ausgeführt . Der Befehl kann ein interner Befehl, ein Alias, ein externer Befehl oder eine Batch-Datei sein. Bei der Ausführung des Befehls kann es notwendig sein, eine der variablen Funktionen zu verwenden, die einen relativen Pfad in einen absoluten umwandeln, z. B.@truename[], @full[] usw., um sicherzustellen, dass gleichnamige Dateien in verschiedenen Verzeichnissen korrekt behandelt werden.
Wenn Sie keine Argumente angeben, zeigt GLOBAL seinen Befehlsdialog an.
Das folgende Beispiel kopiert die Dateien in jedem Verzeichnis auf Laufwerk A in das Verzeichnis C:\TEMP:
[a:\] global copy * c:\temp
Wenn ein bestimmter Dateiname in mehr als einem Verzeichnis auf A: gefunden wird , wird, vorausgesetzt, COPY ist der interne Standardbefehl, die zuletzt gefundene Datei in C:\TEMP belassen. Welche von mehreren gleichnamigen Dateien zuletzt gefunden wird, ist nicht vorhersehbar!
Wenn Sie die Option /P verwenden , fragt GLOBAL vor der Ausführung des Befehls nach jedem Unterverzeichnis . Sie können diese Option verwenden, wenn Sie einen Befehl in den meisten, aber nicht in allen Unterverzeichnissen des aktuellen Verzeichnisses ausführen wollen .
Sie können die Befehlsgruppierung verwenden , um mehrere Befehle in jedem Unterverzeichnis auszuführen . Der folgende Befehl kopiert beispielsweise jede . TXT-Datei im aktuellen Verzeichnis und allen seinen Unterverzeichnissen nach Laufwerk D. Anschließend wird die Erweiterung jeder kopierten Datei in .SAV geändert :
global (copy *.txt d: & ren *.txt *.sav)
Umleitung der Ausgabe
Die standardmäßige Ausgabeumleitung (d. h. der globale Befehl > filename) erstellt für jedes besuchte Verzeichnis eine neue Ausgabedatei mit dem Namen filename. Wenn filename keinen absoluten Dateipfad enthält, werden diese Dateien relativ zum aktuell besuchten Verzeichnis erstellt. Wenn filename einen absoluten Dateipfad enthält , wird diese Datei bei jedem besuchten Verzeichnis überschrieben, und nur die Daten aus dem zuletzt besuchten Verzeichnis bleiben erhalten.
Der einfachste Weg, eine einzelne Zieldatei zu erzwingen, besteht darin, die gesamte Befehlszeile in Klammern einzuschließen, z. B.:
(global command) > filename
Optionen:
| /H | Zwingt GLOBAL, nach versteckten Verzeichnissen zu suchen. Wenn Sie diesen Schalter nicht verwenden, werden versteckte Verzeichnisse und ihre Unterverzeichnisse ohne Fehleranzeige ignoriert. |
Ohne diese Option bricht GLOBAL mit einer Fehlermeldung ab, wenn es nicht in ein Verzeichnis wechseln kann (z.B. wenn der Benutzer keine Zugriffsrechte hat). Wenn diese Option gesetzt ist, ignoriert GLOBAL dieses Verzeichnis und alle seine Unterverzeichnisse und fährt im nächsten zugänglichen Verzeichnis fort.
| /P | Zwingt GLOBAL, nach jedem Verzeichnisnamen zu fragen, bevor es einen Befehl in diesem Verzeichnis ausführt . Ihre Optionen an der Eingabeaufforderung werden unter Seiten- und Dateieingabeaufforderungen ausführlich erläutert . |
| /S | GLOBAL begrenzt die Rekursion in Unterverzeichnisse auf die angegebene Anzahl. Wenn Sie beispielsweise einen Verzeichnisbaum "\a\b\c\d\e" haben, geht /S2 nur zu den Verzeichnissen "a", "b" und "c". |
Wenn Sie nach dem /S ein + gefolgt von einer Zahl angeben , führt GLOBAL denBefehl erst dannaus , wenn er diese Tiefe im Unterverzeichnisbaum erreicht hat. Wenn Sie zum Beispiel einen Verzeichnisbaum \a\b\c\d\e haben , führt /S+2 den Befehl nicht in \a oder \a\b aus.