Bergeweise DIRs durchforsten und Dateinamen auswerten, nur wie anfangen
Hi@Batchprofi's
Ich habe Bergeweise Dokumente über die ich eine Auswertung machen soll. Da es täglich mehr werden und es eine sehr verschachtelte Verzeichnisstruktur ist macht das händisch 0 Sinn, es sei denn man will einen Job4Ever .
Dokument_2(273000)_______FB__Seite_1(273001).tif
Von Interesse ist rein in dem Fall FB und die Seite 1.
FB steht für Fragebogen von diesen Dokumentenklassen gibt es ca 75 Stück und es können auch mehrere Seiten in den ordnern sein.
Für die Zählung ist aber nur Seite 1 von Interesse, weil man so gut die Anzahl zählen kann, alle anderen Seiten mit der gleichen Kennung kann man getrost ignorieren, da man Seite 1 ja bereits gezählt hat.
Wie fängt man nun an:
Ich würde als Suchstring "Seite_1" hernehmen.
Fürs Rekursive gibt es bei for ja den Schalter /r.
Aber da verließen sie mich auch schon. *grübel*
Grüße
EDIT: Grad das Tutorial zu FOR gefunden und geh das grad durch. Wenn ich einen Ansatz habe und fragen habe(werden bestimmt kommen) poste ich hier. Wenn trotzdem einer so eine Idee hat ich bin immer aufgeschlossen. =)
Ich habe Bergeweise Dokumente über die ich eine Auswertung machen soll. Da es täglich mehr werden und es eine sehr verschachtelte Verzeichnisstruktur ist macht das händisch 0 Sinn, es sei denn man will einen Job4Ever .
Dokument_2(273000)_______FB__Seite_1(273001).tif
Von Interesse ist rein in dem Fall FB und die Seite 1.
FB steht für Fragebogen von diesen Dokumentenklassen gibt es ca 75 Stück und es können auch mehrere Seiten in den ordnern sein.
Für die Zählung ist aber nur Seite 1 von Interesse, weil man so gut die Anzahl zählen kann, alle anderen Seiten mit der gleichen Kennung kann man getrost ignorieren, da man Seite 1 ja bereits gezählt hat.
Wie fängt man nun an:
Ich würde als Suchstring "Seite_1" hernehmen.
Fürs Rekursive gibt es bei for ja den Schalter /r.
Aber da verließen sie mich auch schon. *grübel*
Grüße
EDIT: Grad das Tutorial zu FOR gefunden und geh das grad durch. Wenn ich einen Ansatz habe und fragen habe(werden bestimmt kommen) poste ich hier. Wenn trotzdem einer so eine Idee hat ich bin immer aufgeschlossen. =)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 157383
Url: https://administrator.de/forum/bergeweise-dirs-durchforsten-und-dateinamen-auswerten-nur-wie-anfangen-157383.html
Ausgedruckt am: 16.04.2025 um 17:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo H41mSh1C0R!
Da die Beschreibung der gewünschten Auswertung noch relativ nebulos ist, nur einmal ein grundsätzlicher Ansatz für das vorgegebene Dateimuster:
Zu beachten: Die Angabe des Basisordners (Zeile2) muss mit abschließendem "\" erfolgen.
Grüße
bastla
[Edit] Variable %Teil% auf %Klasse% geändert /Edit]
Da die Beschreibung der gewünschten Auswertung noch relativ nebulos ist, nur einmal ein grundsätzlicher Ansatz für das vorgegebene Dateimuster:
@echo off & setlocal
set "Basis=D:\Ausgangsordner\"
set "Maske=*Seite_1(*.tif"
for /f "delims=" %%i in ('dir /s /b "%Basis%%Maske%" 2^>nul') do call :ProcessFile "%%i"
goto :eof
:ProcessFile
set "Klasse="
for /f "tokens=4 delims=()_" %%a in ("%~n1") do set "Klasse=%%a"
set "Klasse=%Klasse:~,-5%"
if defined Klasse (
echo Gefunden: %Klasse% in %1
REM Verarbeitung hier vornehmen
)
goto :eof
Grüße
bastla
[Edit] Variable %Teil% auf %Klasse% geändert /Edit]
Moin H41mSh1C0R,
es kommt darauf an, was so deine Vorstellungen von einer "Auswertung" sind.
Für schnelle Ad-hoc-Fragen ("Wieviel Fragebögen hab ich denn insgesamt?") würde ich nicht viel Aufwand treiben.
Beispiel: Wenn es nur darum geht, alle Dateien ab einem bestimmten Rootverzeichnis an durchzupflügen und die Gesamtzahl zu ermitteln,
Grüße
Biber
es kommt darauf an, was so deine Vorstellungen von einer "Auswertung" sind.
Für schnelle Ad-hoc-Fragen ("Wieviel Fragebögen hab ich denn insgesamt?") würde ich nicht viel Aufwand treiben.
Beispiel: Wenn es nur darum geht, alle Dateien ab einem bestimmten Rootverzeichnis an durchzupflügen und die Gesamtzahl zu ermitteln,
>dir /s "f:\k\*Seite1(*.*"|findstr "Datei(en)"
18 Datei(en) 35.241.118 Bytes
4 Datei(en) 22.357.372 Bytes
5 Datei(en) 2.739.712 Bytes
27 Datei(en) 60.338.202 Bytes
## und da meinetwegen noch irgendeinen Deppen die Anzahl zusammenzählen lassen...
>set "anzahl="&@(for /f %i in ('dir /s "f:\k\*Seite(*.*"^|findstr "Datei(en)"') do @set /a "anzahl+=%i">nul) & @set anzahl
anzahl=54
Grüße
Biber
moin,
@Biber
die Ausgabe der Zussammenrechnung ist falsch.
der Befehl Dir /s kann sogar selbst mitzählen und gibt Dir doch die gesamt Anzahl am Ende auch aus.
27 ist ja schon die Fertige Rechnung NICHT 54 das wäre das doppelte
Gruß Phil
06.## und da meinetwegen noch irgendeinen Deppen die Anzahl zusammenzählen lassen...
@Biber
die Ausgabe der Zussammenrechnung ist falsch.
der Befehl Dir /s kann sogar selbst mitzählen und gibt Dir doch die gesamt Anzahl am Ende auch aus.
27 ist ja schon die Fertige Rechnung NICHT 54 das wäre das doppelte
>(for /f %i in ('dir /s "f:\k\*Seite(*.*"^|findstr "Datei(en)"') do @set "anzahl=%i">nul) & @set anzahl
anzahl=27
Gruß Phil