Mit CMD.exe mehrere Unterverzeichnisse abarbeiten

13. Dezember 2015 · Betriebssysteme · andreas · Kein Kommentar

Gegenüber den Möglichkeiten, die unter Unix-Systemen in z.B. der BASH zur Verfügung stehen, hat die mit Windows mitgelieferte CMD.exe einen eher schlechten Ruf. Microsoft hat zwar mit der Powershell im Laufe der Jahre eine leitsungsfähige Alternative geschaffen, die allerdings ohne entsprechenden Einarbeitungsaufwand alles andere als intuitiv funktioniert.

Will man sich einfach nur durch mehrere Unterverzeichnisse wühlen, reicht innerhalb einer Batch-Datei folgender Aufruf:

for /f "tokens=*" %%D in ('dir /b /s /a:d "[Wurzelverzeichnis]"') do (
 echo found %%D
 )

Der Platzhalter “[Wurzelverzeichnis]” muß durch den entsprechenden Pfad ersetzt werden, wobei die umgebenden Anführungszeichen bei einem vorhandenen Leerzeichen innerhalb des Pfades beibehalten werden müssen.

Zwischen den Klammern können beliebige Befehle eingesetzt werden.