pixel0815
Goto Top

Anzahl Dateien eines oder mehreren Dateityps per Batch oder Powershell

Hallo liebe Gemeinde,

gibt es eine einfache Möglichkeit ein Laufwerk nach verschiedenen Dateitypen zu durchsuchen?
Ich möchte nur die Anzahl der Dateien ermitteln und den Typ. Sozusagen 12345 Dateien Dateityp: mp3 etc..

Über den DIR Befehl geht das ja schon aber ich möchte kein Dateinamen sondern nur die Anzahl der Dateien mit dem Dateityp mp3 oder was anderes.

1
dir /B /S D:\*.mp3>Log.txt 


Freu mich :o)

LG
Heiko

Content-ID: 266688

Url: https://administrator.de/forum/anzahl-dateien-eines-oder-mehreren-dateityps-per-batch-oder-powershell-266688.html

Ausgedruckt am: 15.04.2025 um 05:04 Uhr

colinardo
Lösung colinardo 18.03.2015 aktualisiert um 15:12:56 Uhr
Goto Top
Hallo Heiko,
z.B. so mit Powershell um die Anzahl der Files zu ermitteln
gci D:\*.mp3 -Recurse | measure | select -Expand count
Du kannst auch mehere Dateierweiterungen gleichzeitig abfragen und anzeigen lassen:
gci D:\ -Include *.mp3,*.wav -Recurse | group Extension | select Name,Count
oder mit Batch z.B. so
dir /b /s D:\*.mp3 | find /c "."
Grüße Uwe
pixel0815
pixel0815 18.03.2015 um 14:27:21 Uhr
Goto Top
Hallo Uwe,

ich erhalte lediglich immer 0 als Ausgabe?
Das ist eine alte Powershell der Version 2.0 auf einem Windows 2003 Server.
Auf meinem Laptop funktioniert der Befehl.
colinardo
colinardo 18.03.2015 aktualisiert um 14:31:22 Uhr
Goto Top
Zitat von @pixel0815:
ich erhalte lediglich immer 0 als Ausgabe?
Das ist eine alte Powershell der Version 2.0 auf einem Windows 2003 Server.
Geht auch mit PS2.0 hier gerade getestet.
Ansonsten machs mal nur so :
gci D:\*.mp3 -Recurse | measure
und Prüfe die Ausgabe von measure-object
pixel0815
pixel0815 18.03.2015 um 14:36:32 Uhr
Goto Top
Ich erhalte sofort folgendes:

1
2
3
4
5
6
Count    : 0
Average  :
Sum      :
Maximum  :
Minimum  :
Property :
colinardo
colinardo 18.03.2015 aktualisiert um 14:43:25 Uhr
Goto Top
Dann hat er dort auch keine Files gefunden, wurde hier erfolgreich auf einer VM mit Server 2003 mit PS2.0 ausprobiert ...sorry
Ist ja auch nichts besonderes ...
pixel0815
pixel0815 18.03.2015 um 14:47:51 Uhr
Goto Top
Es gibt definitiv hunderte Mp3 Dateien die sich in Unterverzeichnissen befinden. face-sad so ein mist.
colinardo
colinardo 18.03.2015 aktualisiert um 14:49:34 Uhr
Goto Top
Werden die Dateien denn überhaupt aufgelistet wenn du nur:
gci D:\*.mp3 -Recurse
eingibst ? Wenn nicht ist das schon dein Problem, oder der Account hat keine Zugriffsrechte.
pixel0815
pixel0815 18.03.2015 um 14:49:29 Uhr
Goto Top
Ach alles gut! .. Ein Leerzeichen :o)
colinardo
Lösung colinardo 18.03.2015 aktualisiert um 15:12:51 Uhr
Goto Top
Zitat von @pixel0815:

Ach alles gut! .. Ein Leerzeichen :o)
och nöööööööööö das gibt Abzüg face-big-smile.... 5 € Kaffeekasse
Biber
Lösung Biber 18.03.2015 aktualisiert um 15:12:47 Uhr
Goto Top
Moin HeikoWellendorf,

Wenn du wirklich nur nur die Anzahl brauchst, dann geht es auch mit einer Zeile über den ollen CMD-Interpreter:
cmd /v:on /C "set cnt=0 & (For /r "d:\musi\" %i in (*.mp3) do @set /a "cnt+=1">nul) & @echo %cnt%"

-> würde in Verzeichnis "D:\musi" und unterhalb davon nach *.mp3-Dateien suchen und zu dem Ergebnis 12345 kommen.

Die FOR/R-Anweisung ist vergleichsweise performant und entspricht dem "-Recurse, das colinardo verwendet.

Grüße
Biber
pixel0815
pixel0815 18.03.2015 um 14:58:51 Uhr
Goto Top
*Klimper* .. :o))))
Danke !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
pixel0815
pixel0815 18.03.2015 um 15:04:42 Uhr
Goto Top
Hallo Biber,

rufe ich diese Zeile direkt im CMD Fenster auf?
Ich erhalte dort keine Ausgabe? Nur %cnt%

Grüße
Heiko
colinardo
Lösung colinardo 18.03.2015 aktualisiert um 15:12:45 Uhr
Goto Top
oder wie ich oben ergänzt hatte:
dir /b /s D:\*.mp3 | find /c "."
Ich erhalte dort keine Ausgabe? Nur %cnt%
schreibe im Befehl die Variable mit Ausrufezeichen (wegen der verzögerten Variablenerweiterung)
@echo !cnt!
pixel0815
pixel0815 18.03.2015 um 15:12:41 Uhr
Goto Top
geht!! :o) Genial