sascha224
Goto Top

Dateien mit gleichem Präfix verschieben, neueste belassen

Hallo,

ich habe folgendes Problem:

In einem Verzeichnis befinden sich viele gleichartige Files. Der Dateiname besteht aus einem Präfix, einem Underscore und einem Suffix, sowie Extension (Schema also "Präfix_Suffix.txt"). Nun soll von allen Dateien mit dem selben Präfix alle Dateien bis auf die neueste (nach Änderungsdatum) in ein anderes Verzeichnis verschoben werden, d. h. dass am Ende von jedem Präfix nur noch eine Datei, nämlich die neueste aus der jeweiligen Präfix-Gruppe, im Ursprungsverzeichnis liegen bleibt.

Hat dazu jemand eine Idee?

Content-Key: 274937

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

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

Member: eisbein
eisbein Jun 18, 2015 at 15:29:08 (UTC)
Goto Top
Hallo!


Hat dazu jemand eine Idee?

Stichwort: robocopy

und dann gibt es ja auch noch die Forum-Suchfunktion face-wink

Gruß
Eisbein
Mitglied: 114757
Solution 114757 Jun 18, 2015, updated at Jun 19, 2015 at 06:33:57 (UTC)
Goto Top
Yip, Powershell my friend, ohne Variablen wär's ein Einzeiler face-wink
Quell und Zielpfad in Zeile 1 und 2 anpassen, der Rest ist schon an dein Muster angepasst.
$source = 'C:\quelle'  
$destination = 'D:\ziel'  
gci $source -Filter *.txt | ?{!$_.PSIsContainer} | group {[regex]::match($_.Name,'^(.*?)_').Groups[1].Value} | ?{$_.Count -gt 1} | %{$_.Group | sort LastWriteTime -Descending | select -skip 1 | %{ copy-item $_.Fullname -Destination $destination -Force; remove-item $_.Fullname -Force}}  
Erfolgreich getestet.

Gruß jodel32
Member: sascha224
sascha224 Jun 19, 2015 updated at 06:38:09 (UTC)
Goto Top
@eisbein: Ja danke, an Robocopy hatte ich auch schon gedacht. Mir fehlen nur vernünftige Kenntnisse für eine passende Schleife, die das Dateimuster matcht - das mit den Variablen hab ich beim Batch-Skripting nie wirklich geblickt...

@114757: Funktioniert super, vielen Dank!!!