Ordner auslesen ohne Subdirectories
Hi Leute,
Hab folgendes Problem:
Ich möchte eine Auswertung von Textdateien, die sich in bestimmten Ordnern befinden.
Diese Ordner entalten jedoch auch Unterordner, die auch wieder textfiles beinhalten.
Das Skript das ich benötige soll mir allerdings nicht diese Unterordner mit auswerten, sonder nur die
im angegebenen Ordner befindlichen Dateien (siehe Skript).
Wäre nicht schlecht wenn ich bei der Auswertung noch eine Pfadangabe mit ausgeben könnte.
Beispiel vom Ordneraufbau: (Ordnernamen können sich ändern)
Hauptordner\Ordner1
Hauptordner\Ordner2\05
Hauptordner\Ordner2\04
Hauptordner\Ordner3\06
Hauptordner\Ordner4\08
Hauptordner \Ordner4\08\04
Habe bereits folgendes Skript geschrieben:
Ergebnis der Batchabfrage:
Ordner1 Dateien.txt
Ordner2_04 Dateien.txt
Ordner3 Dateien.txt
Ordner8 Dateien.txt
Denke das Ergebnis schaut ganz gut aus oder was meint ihr?
Bräuchte jetzt allerdings noch die Pfadangabe in der Ergebnisdatei.
Danke euch
Tom
Hab folgendes Problem:
Ich möchte eine Auswertung von Textdateien, die sich in bestimmten Ordnern befinden.
Diese Ordner entalten jedoch auch Unterordner, die auch wieder textfiles beinhalten.
Das Skript das ich benötige soll mir allerdings nicht diese Unterordner mit auswerten, sonder nur die
im angegebenen Ordner befindlichen Dateien (siehe Skript).
Wäre nicht schlecht wenn ich bei der Auswertung noch eine Pfadangabe mit ausgeben könnte.
Beispiel vom Ordneraufbau: (Ordnernamen können sich ändern)
Hauptordner\Ordner1
Hauptordner\Ordner2\05
Hauptordner\Ordner2\04
Hauptordner\Ordner3\06
Hauptordner\Ordner4\08
Hauptordner \Ordner4\08\04
Habe bereits folgendes Skript geschrieben:
dir C:\Hauptordner\Ordner1 /W /A:-D /B /-C /O:N > C:\summary.txt
dir C:\Hauptordner\Ordner2\04 /A:-D /B /-C /O:N /4 >> C:\summary.txt
dir C:\Hauptordner\Ordner3\ /A:-D /B /-C /O:N /4 >> C:\summary.txt
dir C:\Hauptordner\Ordner4\08\ /A:-D /B /-C /O:N /4 >> C:\summary.txt
Ergebnis der Batchabfrage:
Ordner1 Dateien.txt
Ordner2_04 Dateien.txt
Ordner3 Dateien.txt
Ordner8 Dateien.txt
Denke das Ergebnis schaut ganz gut aus oder was meint ihr?
Bräuchte jetzt allerdings noch die Pfadangabe in der Ergebnisdatei.
Danke euch
Tom
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 86925
Url: https://administrator.de/contentid/86925
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
7 Kommentare
Neuester Kommentar
Wenn ich dein Vorhaben richtig verstehe würde es so gehen:
Die Optionen /W /-C machen in Kombination mit /B keinen Sinn und kann man deshalb weglassen.
FOR /F "delims=" %%i in ('dir C:\Hauptordner\Ordner1 /A /B /O:N') do echo %%~fi > C:\summary.txt
FOR /F "delims=" %%i in ('dir C:\Hauptordner\Ordner2\04 /A /B /O:N') do echo %%~fi >> C:\summary.txt
FOR /F "delims=" %%i in ('dir C:\Hauptordner\Ordner3 /A /B /O:N') do echo %%~fi >> C:\summary.txt
FOR /F "delims=" %%i in ('dir C:\Hauptordner\Ordner4\08\ /A /B /O:N') do echo %%~fi >> C:\summary.txt
FOR /F "delims=" %%i in ('dir C:\Hauptordner\Ordner2\04 /A /B /O:N') do echo %%~fi >> C:\summary.txt
FOR /F "delims=" %%i in ('dir C:\Hauptordner\Ordner3 /A /B /O:N') do echo %%~fi >> C:\summary.txt
FOR /F "delims=" %%i in ('dir C:\Hauptordner\Ordner4\08\ /A /B /O:N') do echo %%~fi >> C:\summary.txt
Die Optionen /W /-C machen in Kombination mit /B keinen Sinn und kann man deshalb weglassen.
@miniversum
Das wird so nicht funktionieren, da ein "dir /b" ohne "/s" nur Dateinamen und Extension, aber keine Pfadangabe liefert - für die Ausgabe mit %%~fi wird als Pfad %cd% verwendet ...
@tkline
Da Du ohnehin die auszugebenden Ordner einmal eingeben musst, könntest Du diese gleich zeilenweise in eine Datei (zB "C:\Ordnerliste.txt") eintragen - der Batch dazu sähe dann etwa so aus:
Grüße
bastla
P.S: @miniversum: Lustiger Batch ...
Das wird so nicht funktionieren, da ein "dir /b" ohne "/s" nur Dateinamen und Extension, aber keine Pfadangabe liefert - für die Ausgabe mit %%~fi wird als Pfad %cd% verwendet ...
@tkline
Da Du ohnehin die auszugebenden Ordner einmal eingeben musst, könntest Du diese gleich zeilenweise in eine Datei (zB "C:\Ordnerliste.txt") eintragen - der Batch dazu sähe dann etwa so aus:
@echo off & setlocal
if exist C:\summary.txt del C:\summary.txt
for /f "delims=" %%i in (C:\Ordnerliste.txt) do (
pushd "%%i"
for /f "delims=" %%a in ('dir /b /a-d /on 2^>nul') do echo %%i\%%a >>C:\summary.txt
popd
)
Grüße
bastla
P.S: @miniversum: Lustiger Batch ...
@miniversum
Das wird so nicht funktionieren, da ein
"dir /b" ohne "/s" nur
Dateinamen und Extension, aber keine
Pfadangabe liefert - für die Ausgabe mit
%%~fi wird als Pfad %cd% verwendet ...
Das wird so nicht funktionieren, da ein
"dir /b" ohne "/s" nur
Dateinamen und Extension, aber keine
Pfadangabe liefert - für die Ausgabe mit
%%~fi wird als Pfad %cd% verwendet ...
Ja sowas kann vorkommen wenn man was ungetestetes postet...
P.S: @miniversum: Lustiger Batch ...
Ach verdammt... hab mir das Posting hinterher nichtmal mehr angeschaut...
@bastla: Dein Lösungsansatz gefällt mir ganz gut, nur wäre es mir am liebsten, ich
bräuchte nur ein Batchfile. Aber so ist es auch OK
bräuchte nur ein Batchfile. Aber so ist es auch OK
Ich brauch jetzt auch erstmal eine Pause.
Grüße
Biber
Hallo tkline!
Na wenn Du meinst:
Grüße
bastla
Na wenn Du meinst:
@echo off & setlocal
if exist C:\summary.txt del C:\summary.txt
for %%i in ("C:\Hauptordner\Ordner1" "C:\Hauptordner\Ordner2" "C:\Hauptordner\Ordner3" "C:\Hauptordner\Ordner4\08") do (
pushd "%%i"
for /f "delims=" %%a in ('dir /b /a-d /on 2^>nul') do echo %%i\%%a >>C:\summary.txt
popd
)
Grüße
bastla