Wie kann ich in der Windows-Eingabeaufforderung durch Verzeichnisse iterieren?

Wie kann ich in der Windows-Eingabeaufforderung durch Verzeichnisse iterieren?

Die Windows-Eingabeaufforderung (cmd.exe) bietet den Befehl FOR. Damit können Sie eine Operation für jeden beliebigenDateiin einem Verzeichnis. Beispiel:

\> dir
28.05.2012  18:25                69 buildall.bat
28.05.2012  07:48    <DIR>          include
28.05.2012  18:23    <DIR>          sub-607

\> for %d in (*.bat) echo %d

Wie kann ich dasselbe (nicht rekursiv) mit allen Unterverzeichnissen in einem bestimmten Verzeichnis tun? Die Idee ist:

for %d in (sub-*) do (
  cd %d
  dosomething
  cd ..
)

Die obige for-Anweisung findet sub-607 nicht, da es sich nicht um einDatei.

Antwort1

Der forBefehl kann den /DSchalter annehmen, um über Unterverzeichnisse statt über Dateien zu iterieren.

for /D %d in (sub-*) do ...

Weitere Informationen finden Sie hier:http://ss64.com/nt/for_d.html

verwandte Informationen