survial555
Goto Top

PowerShell Befehl

Hallo,
nachdem man mir hier vor ein paar Tagen mit einem PowerShell Befehl sehr weitergeholfen hat, brauche ich noch mal einen Tipp.
Das Thema PowerShell scheint ja sehr mächtig zu sein. Da muss ich mich mal genauer mit auseinander setzen.
Finde es jedoch schwer die richtigen Befehle zu "bauen". face-wink Darum mag mir vielleicht noch mal jemand helfen.

Ich habe einen Ordner mit Bildern. Eine Kamera hat alle 10 Sekunden ein Bild abgelegt. Dementsprechend sind im Ordner 6 Dateien, die den gleichen Minutenzeitstempel anzeigen.
Nun muss ich Bilder aussortieren. Und zwar brauche ich pro Minute nur ein Bild.

Ich brauche daher also einen Befehl, welcher mir aus meinem Bilderordner von jeder Minute 1 Bild in einen anderen Ordner kopiert.

Kann man das mit der PowerShell realisieren? Wäre für Hilfe sehr dankbar!

Content-ID: 519927

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

Ausgedruckt am: 14.11.2024 um 01:11 Uhr

141965
141965 28.11.2019 aktualisiert um 21:49:21 Uhr
Goto Top
Kann man das mit der PowerShell realisieren?
Überhaupt kein Thema
gci "d:\Quelle" -File -Filter *.jpg | sort LastWriteTime | group {$_.LastWriteTime.toString("ddMMyyyyHHmm")} | %{$_.Group | copy-item -Destination "d:\ziel" -verbose}  
survial555
survial555 28.11.2019 um 13:15:31 Uhr
Goto Top
Danke für den Befehl.
Ich habe die beiden Pfade entsprechend angepasst, bekomme jedoch die Meldung:
Get-ChildItem : Es wurde kein Parameter gefunden, der dem Parameternamen "File" entspricht.
141965
141965 28.11.2019 aktualisiert um 21:49:43 Uhr
Goto Top
Dann ist deine Powershell zu alt! Management Framework updaten. Btw. du postest das in der Kategorie "Windows 10", dort sollte die PS eigentlich aktuell sein!

Wenn du unbedingt die alte Powershell 2.0 weiterverwenden willst (vermutlich bist du auf einem alten Windows 7 am werkeln) muss du es mit einer Modifikation machen da die PS 2.0 den Parameter -File noch nicht kennt.
gci "d:\Quelle" -Filter *.jpg | ?{!$_.PSIsContainer} | sort LastWriteTime | group {$_.LastWriteTime.toString("ddMMyyyyHHmm")} | %{$_.Group | copy-item -Destination "d:\ziel" -verbose}  
Ansonsten, meine dringende Empfehlung die PS zu aktualisieren!
survial555
survial555 28.11.2019 um 20:20:34 Uhr
Goto Top
hey. jo war tatsächlich altes powershell. habe nun auf 5.1 aktualisiert und es funktioniert mit dem ersten befehl.
jedoch hat er mir hier nur die dateien von einem tag so kopiert.
ich habe jedoch dateien über mehreren tage bzw sogar wochen und monate face-wink
bekommt man das auch noch irgendwie hin?
mega mega besten dank!
141965
141965 28.11.2019 aktualisiert um 21:50:14 Uhr
Goto Top
Zitat von @survial555:

hey. jo war tatsächlich altes powershell. habe nun auf 5.1 aktualisiert und es funktioniert mit dem ersten befehl.
jedoch hat er mir hier nur die dateien von einem tag so kopiert.
ich habe jedoch dateien über mehreren tage bzw sogar wochen und monate face-wink
bekommt man das auch noch irgendwie hin?
Auch das ist kein Thema, stand ja leider nicht in deiner Anforderung ;).
Ändere einfach den String zur Datums Umwandlung in
"ddMMyyyyHHmm"
Hab's dir oben auch angepasst.