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.

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


Freu mich :o)

LG
Heiko

Content-Key: 266688

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

Printed on: April 25, 2024 at 17:04 o'clock

Member: colinardo
Solution colinardo Mar 18, 2015 updated at 14:12:56 (UTC)
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
Member: pixel0815
pixel0815 Mar 18, 2015 at 13:27:21 (UTC)
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.
Member: colinardo
colinardo Mar 18, 2015 updated at 13:31:22 (UTC)
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
Member: pixel0815
pixel0815 Mar 18, 2015 at 13:36:32 (UTC)
Goto Top
Ich erhalte sofort folgendes:

Count    : 0
Average  :
Sum      :
Maximum  :
Minimum  :
Property :
Member: colinardo
colinardo Mar 18, 2015 updated at 13:43:25 (UTC)
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 ...
Member: pixel0815
pixel0815 Mar 18, 2015 at 13:47:51 (UTC)
Goto Top
Es gibt definitiv hunderte Mp3 Dateien die sich in Unterverzeichnissen befinden. face-sad so ein mist.
Member: colinardo
colinardo Mar 18, 2015 updated at 13:49:34 (UTC)
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.
Member: pixel0815
pixel0815 Mar 18, 2015 at 13:49:29 (UTC)
Goto Top
Ach alles gut! .. Ein Leerzeichen :o)
Member: colinardo
Solution colinardo Mar 18, 2015 updated at 14:12:51 (UTC)
Goto Top
Zitat von @pixel0815:

Ach alles gut! .. Ein Leerzeichen :o)
och nöööööööööö das gibt Abzüg face-big-smile.... 5 € Kaffeekasse
Member: Biber
Solution Biber Mar 18, 2015 updated at 14:12:47 (UTC)
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
Member: pixel0815
pixel0815 Mar 18, 2015 at 13:58:51 (UTC)
Goto Top
*Klimper* .. :o))))
Danke !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Member: pixel0815
pixel0815 Mar 18, 2015 at 14:04:42 (UTC)
Goto Top
Hallo Biber,

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

Grüße
Heiko
Member: colinardo
Solution colinardo Mar 18, 2015 updated at 14:12:45 (UTC)
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!
Member: pixel0815
pixel0815 Mar 18, 2015 at 14:12:41 (UTC)
Goto Top
geht!! :o) Genial