Sie haben beispielsweise einen Umbenennungsbefehl in einer Stapeldatei und möchten diese Datei im aktuellen Verzeichnis und in allen Unterverzeichnissen ausführen.
Angenommen, Ihre Charge ist etwa so benannt wie myrename.cmd
, dann können Sie einfach Folgendes tun:
In der ersten Zeile wird es für das aktuelle Verzeichnis ausgeführt, die for
Schleife wird rekursiv ( /r
) über alle Verzeichnisse ( /d
) iterieren und den Teil in den Klammern ausführen. Was wir in ihnen tun, ist, das Verzeichnis in dasjenige zu ändern, mit dem wir gerade übergehen, mit pushd
- welches die nette Eigenschaft hat, diese Verzeichnisänderung mit popd
rückgängig zu machen - und dann den Befehl auszuführen, was dann sein wird Führen Sie das Verzeichnis aus, in das wir gerade gewechselt haben.
Dies setzt voraus, dass der Stapel irgendwo im Pfad liegt. Wenn dies nicht der Fall ist und einfach dort liegt, wo die Batchdatei oben liegt, können Sie
verwenden %Vor%Tags und Links command-line windows shell cmd batch-file