datbatch
Goto Top

(Batch) Ordner durchstöbern

Hallo User

Ich hab ein Problem bei meiner Batchdatei
Ich möchte das die Batch datei den ordnerinhalt
Anzeigt.
Aber:
Die Batch soll die Ordner anzeigen im folgendem Aufbau

In blaordner existiert die datei ....
In blaordner existiert die datei ....

Und so das den ordner den Sie als letztes gefunden hat in Variable steckt Damit man noch im unterverzeichnis suchen kann

Geht das vielleicht??
Gruß DatBatch

Content-Key: 251680

Url: https://administrator.de/contentid/251680

Printed on: April 20, 2024 at 02:04 o'clock

Member: rubberman
Solution rubberman Oct 11, 2014 updated at 10:55:25 (UTC)
Goto Top
Hallo DatBatch,

dazu nimmt man in der Regel eine Subroutine, die man für jedes (Unter-)Verzeichnis rekursiv aufruft. Beispiel:
@echo off &setlocal
REM Startpfad
set "directory=C:\irgendwo"  

REM Aufruf der Subroutine mit dem Startpfad als Argument.
call :ListRecursively "%directory%"  

REM Ende des Hauptcodes.
pause
exit /b


REM Subroutine zur Verarbeitung des Inhaltes eines Verzeichnisses.
:ListRecursively DirectoryPath
echo ~~~~~~~~~~~~~~~~~~~~
REM In %1 befindet sich der als Argument übergebene Pfad.
echo In %1 existieren die Dateien:
REM Zunächst alle Dateien im Verzeichnis auflisten (/a-d schließt Unterverzeichnisse aus)
2>nul dir /a-d /b %1
REM Nur Unterverzeichnisse auflisten (/ad) und für jedes gefundene die Subroutine erneut aufrufen.
for /f "delims=" %%i in ('2^>nul dir /ad /b %1') do call :ListRecursively "%~1\%%i"  
REM Ende der Subroutine.
exit /b
Grüße
rubberman
Member: DatBatch
DatBatch Oct 11, 2014 at 10:13:27 (UTC)
Goto Top
Ich versteh das Nicht ganz Kannst du das mal erklären???
Member: rubberman
rubberman Oct 11, 2014 at 10:22:38 (UTC)
Goto Top
Ich habe den Code oben noch mit Kommentaren versehen.

Grüße
rubberman
Member: DatBatch
DatBatch Oct 11, 2014 at 10:55:07 (UTC)
Goto Top
Danke