Powershell Anzahl Dateien im Ordner - Problem
Hallo zusammen,
ich möchte gerne mit Powershell zählen wieviele Datein in einem Ordner sind. Ziel ist es wenn ich eine weitere Datei hinzukopiere diese vorher so um zu benennen, dass die Dateien fortlaufend durch Nummerriert sind.
Eigentlich funktioniert das alles schon sehr gut bis auf eins.
Folgende Zeile gibt mir die Anzahl an Dateien aus.
$a = (Get-ChildItem $zielpfad/*.* - include *.jpg).Count
// in String umwandeln damit man es ausgeben kann
$b = $a ToString()
Jetzt ist mir aufgefallen das die Umwandlung in String erst dann Funktioniert, wenn ich mindestens 2 Datein in dem Ordner habe. Wenn der Ordner leer bekomme ich ne Fehlermeldung. Wenn 1 Datei im Ordner ist bekomme ich ne Fehlermeldung. Wenn 2 Dateien im Ordner sind bekomme ich eine 2 zurück.
Kann mir einer erklären warum das so ist oder hat jemand einen andere Idee wie ich die Anzahl an Dateien in einem Ordner raus bekomme.
Vielen Dank.
VG Charly
ich möchte gerne mit Powershell zählen wieviele Datein in einem Ordner sind. Ziel ist es wenn ich eine weitere Datei hinzukopiere diese vorher so um zu benennen, dass die Dateien fortlaufend durch Nummerriert sind.
Eigentlich funktioniert das alles schon sehr gut bis auf eins.
Folgende Zeile gibt mir die Anzahl an Dateien aus.
$a = (Get-ChildItem $zielpfad/*.* - include *.jpg).Count
// in String umwandeln damit man es ausgeben kann
$b = $a ToString()
Jetzt ist mir aufgefallen das die Umwandlung in String erst dann Funktioniert, wenn ich mindestens 2 Datein in dem Ordner habe. Wenn der Ordner leer bekomme ich ne Fehlermeldung. Wenn 1 Datei im Ordner ist bekomme ich ne Fehlermeldung. Wenn 2 Dateien im Ordner sind bekomme ich eine 2 zurück.
Kann mir einer erklären warum das so ist oder hat jemand einen andere Idee wie ich die Anzahl an Dateien in einem Ordner raus bekomme.
Vielen Dank.
VG Charly
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 140108
Url: https://administrator.de/forum/powershell-anzahl-dateien-im-ordner-problem-140108.html
Ausgedruckt am: 25.04.2025 um 18:04 Uhr
2 Kommentare
Neuester Kommentar
Hallo,
hier ein Beispiel was dein Problem erläutert
Wenn nur ein Objekt zurückgegeben wird ist $a ein Filesystemobject und das kann PS nicht wirklich zählen. wenn du aber die Ausgabe direkt in einen Array erstellst, ist PS wiederum dazu in der Lage.
Grüße
Torsten
hier ein Beispiel was dein Problem erläutert
eingabe: $zielpfad = "$pwd\*.*"
eingabe: $include = "*.jpg"
eingabe: $a = Get-ChildItem $zielpfad -include $include
eingabe: $a.gettype()
AUSGABE:
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True FileInfo System.IO.FileSystemInfo
eingabe: $b = @(Get-ChildItem $zielpfad -include $include)
eingabe: $b.gettype()
AUSGABE:
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object System.Array
Wenn nur ein Objekt zurückgegeben wird ist $a ein Filesystemobject und das kann PS nicht wirklich zählen. wenn du aber die Ausgabe direkt in einen Array erstellst, ist PS wiederum dazu in der Lage.
Grüße
Torsten