Zweck:Ausführen eines Befehls im aktuellen Verzeichnis und seinen Unterverzeichnissen

 

Format:GLOBAL [/= /H /I /J /N /P /Q /S[+]n] command

 

commandDer auszuführende Befehl, einschließlich Parameter und Schalter.

 

/H(Verzeichnisse idden) /P(rompt)
/I(Exit-Codes ignorieren) /Q(uiet)
/J (nur Verzweigungen) /S(ubVerzeichnistiefe)

/N(o Verzweigungen)

 

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:

 

/=Zeigt den GLOBAL-Befehlsdialog an, um Ihnen bei der Einstellung der Befehlszeilenoptionen zu helfen. Die Option /= kann an einer beliebigen Stelle in der Zeile stehen; zusätzliche Optionen setzen die entsprechenden Felder im Befehlsdialog.

 

/HZwingt GLOBAL, nach versteckten Verzeichnissen zu suchen. Wenn Sie diesen Schalter nicht verwenden, werden versteckte Verzeichnisse und ihre Unterverzeichnisse ohne Fehleranzeige ignoriert.

 

/IWenn diese Option nicht angegeben ist, wird GLOBAL beendet, wenn der Befehl einen Exit-Code ungleich Null zurückgibt. Verwenden Sie /I, wenn Sie wollen, dass der Befehl in weiteren Unterverzeichnissen fortgesetzt wird, auch wenn er in einem Unterverzeichnis einen Fehler zurückgibt. GLOBAL hält normalerweise die Ausführung an, wenn TCC ein Ctrl-C oder Ctrl-Break empfängt, auch wenn Sie /I verwenden .

 

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.

 

/JErzwingt, dass GLOBAL nur durch Verzweigungen rekursiert, nicht durch Unterverzeichnisse.

 

/NGLOBAL ignoriert Verzweigungen und sucht nur in Unterverzeichnissen.

 

/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 .

 

/QZeigt die Verzeichnisnamen nicht an, wenn jedes Verzeichnis bearbeitet wird.

 

/SGLOBAL 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.