chainsaw
Goto Top

Nur Dateien mit gleichem Dateistring in einem Ordner zählen

Hallo Profis,

hab da mal ne Frage: Ich möchte die Dateianzahl in einem Verzeichnis per Batch auslesen. Das hab ich hinbekommen.
Jetzt würde ich das ganze gerne noch verfeinern, indem ich nur Dateien auslesen lasse, die einen bistimmten Dateistring im Namen
haben. Die Dateiendung ist unterschiedlich, spielt aber keine Rolle.

Beispiel: In einem Ordner liegen folgende Daten:

05032009AF-002.pdf
05032009AF-002.pdf
05032009AF-002.pdf
05032009AF-002.pdf
05032009AF-002.jpg
05032009AF-002.jpg
05032009AF-002.jpg
05032009AF-002.jpg
05032009KU-006.pdf
05032009KU-007.pdf
05032009KU-008.pdf

Ich möchte nun nur die Dateien mit dem Teilstring "AF" gezählt bekommen, Dateiendung ist egal, also müsste das Ergebnis "8 Dateien" sein.

Soweit bin ich mal:

@echo off

set /p laufvar=Laufwerksbuchstabe angeben:
set /p verzvar=Ordner angeben:
set "ord=%laufvar%:\%verzvar%"
if exist %laufvar%:\%verzvar% goto :los
if not exist %laufvar%:\%verzvar% goto :meldung

:Los
FOR /F "delims= " %%i in ('Dir %ord% /s /A-D^|find "Datei(en)"') do set nrord=%%i
echo %nrord% Dateien
pause
goto End

:meldung
echo Verzeichnis oder Laufwerk nicht gefunden
sleep 5

:end

Wie kann ich den Find-Befehl dazu bringen, gewünschten String zu suchen?
Wäre Toll wenn jemand eine Lösung dazu hätte.

Schöne Grüße und Dank in Voraus
Chainsaw

Content-ID: 110724

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

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

60730
60730 06.03.2009 um 14:28:59 Uhr
Goto Top
Servus,

das meiste hast du doch schon gehabt - du wolltest deine "Erweiterung" nur an der "falschen" Stelle (find) anbringen face-wink
@echo off

set /p laufvar=Laufwerksbuchstabe angeben:
set /p verzvar=Ordner angeben:
set /p string=Teilstring angeben:
set "ord=%laufvar%:\%verzvar%"  
if exist %laufvar%:\%verzvar% goto :los
if not exist %laufvar%:\%verzvar% goto :meldung

:Los
FOR /F "delims= " %%i in ('Dir %ord%\*%string%* /s /A-D^|find "Datei(en)"') do set nrord=%%i  
echo %nrord% Dateien
pause
goto End

:meldung
echo Verzeichnis oder Laufwerk nicht gefunden
sleep 5

:end
pause

Gruß
chainsaw
chainsaw 06.03.2009 um 18:05:14 Uhr
Goto Top
Hallo Timo,

Perfekt! Vielen Dank. Du hast recht, ich habe immer an der falschen Stelle probiert. face-smile

Schönes WE
Gruß chainsaw