Ordner suchen
Inhaltsverzeichnis
Dir /s /b Datei.ext
Dir /s /b /a-d Datei
Der Befehl Dir listet die gesamte Verzeichnisstruktur des Ordners auf.
Dir /s /b /ad Ordner
Um nach einem Ordner zu suchen, filterst Du den Ordner aus dieser Ausgabe heraus.
aber! es werden die Ordner des WurzelVerzeichnisses nicht Aufgelistet -> Ordner suchen
Dir /s /b /ad Ordner | findstr /e /i "\Ordner"
Um nach einem Ordner ab einer bestimmten Verzeichnisstuktur zu suchen gibst Du den Pfad mit an. (Laufwerk D)
Dir /s /b /ad D:\Ordner | findstr /e /i "\Ordner"
set "Ordner=Ordner"
Dir /s /b /ad D:\%Ordner% | findstr /e /i "\%Ordner%"
set "Ordner=D:\Ordner"
for %i in ("%Ordner%") do Dir /s /b /ad "%~i" | findstr /e /i "\%~nxi"
Um gezielt nach einem Ordner zu suchen reicht es dessen Existenz zu überprüfen. (Gezielt im Sinne von Bekannter Pfad des Ordners.)
if exist "Ordner\" echo "Ordner"
Um den Ordner auf dem gesamten System zu suchen packst Du den Befehl MOUNTVOL und einen Filter in eine ForSchleife. (klappt nicht vollständig, da im Wurzelverzeichnis der Ordner nicht aufgelistet wird Ordner suchen)
for /f %i in ('mountvol^|find ":\"^|sort') do @dir /ad/s/b %iOrdner | findstr /e /i "\Ordner" 2>nul
Um nach den Ordner zu suchen, welcher als Namensangabe im Kompletten Pfad angegeben ist, sind Platzhalter zu benutzen.
Dir /s /b /ad D:\Ordne?
Damit wird der Ordner nur mit einem Punkt nach dem Namen und ein FrageZeichen gefunden
Dir /s /b /ad D:\Ordner.?
Die selben Platzhalter lassen sich so auch per /rekursiver Forschleife nutzen, um die gefundenen Ordner zu verarbeiten.
for /d /r D:\ %i in (Ordner.?) do @echo Gefunden: %i

(dieses Unterdrücken der Fehlermeldung:
Es befindet sich kein Datenträger im Laufwerk.
funktioniert aber nur, wenn die For-Variable mit dem Laufwerksbuchstaben nicht zu %~di Aufgelöst wird.)for %i in (A:\) do vol %~di
Hier wird gleich alles Dursucht und die Ausgabe gefiltert - dafür kann aber nicht direkt mit den Werten gearbeitet werden.
for /f "delims=\ " %i in ('mountvol^|find ":\"^|sort') do @vol %i >nul 2>&1 &&cmd /s /c(for /d /r "%i" %j in (*) do @echo %j)|findstr /e /i "\Ordner"
for /f %i in ('mountvol^|find ":\"^|sort') do @cmd /s /c(for /d /r "%i" %j in ("Ordne?") do @echo %~j)|findstr /e /i "\Ordner"
Damit die Verarbeitung in der Forschleife stattfindet, sollte der Name mit .? ergänzt werden.
set "Name=Ordner"
for /f "delims=\ " %i in ('mountvol^|find ":\"^|sort') do @vol %i >nul 2>&1 &&cmd /s /c(for /d /r "%i" %j in ("%Name%.?") do @if "%j" == "%~dpj%Name%" echo Bearbeite %j)
Um auf allen Laufwerken zu suchen, egal ob gemapptes Netzlaufwerk oder als gemappter Pfad wird die Forschleife mit A-Z abgeklappert.
set "Name=Ordner"
for %i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do @vol %i: >nul 2>&1 &&cmd /s /c(for /d /r "%i:" %j in ("%Name%.?") do @if "%j" == "%~dpj%Name%" echo Bearbeite %j)
Um die Laufwerke seperat abzusuchen sollten diese Auflistungen entsprechend Ihrer Laufwerkszuordnung in der Forschleife ergänzt werden
mountvol|find ":\"
net use|find ":"
subst
set "Name=Ordner"
for /f "delims=\ " %i in ('mountvol ^|find ":\" ^|sort ^&net use ^|find ":" ^&subst') do @vol %i >nul 2>&1 &&cmd /s /c(for /d /r "%i" %j in ("%Name%.?") do @if "%j" == "%~dpj%Name%" echo Bearbeite %j)
[/Edit Abschlussklammern eingefügt]
Gruß Phil
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 158812
Url: https://administrator.de/knowledge/ordner-suchen-158812.html
Ausgedruckt am: 24.07.2025 um 04:07 Uhr