darkatohm
Goto Top

Batch oder Skript Dateien umbennen mit Änderungsdatum größer X Minuten

Hallo zusammen,

ich habe schon etwas recherchiert und einige Möglichkeiten gefunden Dateien umzubenennen, die älter sind als X Tage.
Für meinen Anwendungsfall ist dies jedoch nicht ausreichend.
Ich möchte, dass Dateien umbenannt werden, welche ein Änderungsdatum von X Minuten haben.

Hintergrund:
Bei einem Importprozess wird während des Imports eine PDF Datei von test.pdf in test.pdf.importing umbenannt.
Gelegentlich laufen diese auf einen Fehler und bleiben in dem Status hängen, daher soll *.importing wieder in *.pdf umbenannt werden.
Damit aktuelle Belege die sich im normalen Import-Prozess befinden nicht ungewollt zurückgesetzt werden, soll es nur für Dateien gelten die sich schon eine bestimmte Zeit in diesem Status befinden.

Vielen Dank für Eure Hilfe!

Content-Key: 398974

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

Printed on: May 5, 2024 at 04:05 o'clock

Member: Kraemer
Kraemer Jan 22, 2019 at 10:19:47 (UTC)
Goto Top
Moin,

Zitat von @Darkatohm:
ich habe schon etwas recherchiert und einige Möglichkeiten gefunden Dateien umzubenennen, die älter sind als X Tage.
Für meinen Anwendungsfall ist dies jedoch nicht ausreichend.
wenn bei diesen Möglichkeiten auch nur eine Powershell-Lösung dabei gewesen ist, stimmt deine Aussage schlicht nicht

Ich möchte, dass Dateien umbenannt werden, welche ein Änderungsdatum von X Minuten haben.
überhaupt kein Problem

Gruß
Member: NetzwerkDude
NetzwerkDude Jan 22, 2019 updated at 10:44:17 (UTC)
Goto Top
Get-ChildItem -Filter *.import | Where-Object {$_.LastWriteTime -lt (get-date).addMinutes(-5)} | Rename-Item -NewName "test.pdf"  

Get-Childitem listet alle Dateien auf die in diesem Ordner sind - wir filter hier vorsichtshalber noch nach "irgendwas.import" - leiten das weiter via Pipe an das Filter Cmdlet Where-Object - welches prüft ob die Dateien kleiner als "jetzt minus 5 minuten ist", dieses Ergebnis leiten wir dann wiederrum per Pipe an das cmdlet das es umbenennt
Member: emeriks
emeriks Jan 22, 2019 at 10:47:48 (UTC)
Goto Top
Zitat von @NetzwerkDude:
-NewName "test.pdf"
Dieser Teil müsste dann aber nochmal überdacht werden.

E.
Member: Kraemer
Kraemer Jan 22, 2019 updated at 10:53:32 (UTC)
Goto Top
Zitat von @emeriks:

Zitat von @NetzwerkDude:
-NewName "test.pdf"
Dieser Teil müsste dann aber nochmal überdacht werden.

imho sogar der ganze Part - da fehlt doch noch die Schleife
 | Rename-Item -NewName "test.pdf"  
Member: NetzwerkDude
NetzwerkDude Jan 22, 2019 updated at 11:02:45 (UTC)
Goto Top
Jaja
Rename-Item -NewName {$_.Name -replace '.importing','.pdf'}  
Member: Kraemer
Kraemer Jan 22, 2019 at 11:06:04 (UTC)
Goto Top
Zitat von @NetzwerkDude:

Jaja
Rename-Item -NewName {$_.Name -replace '.importing','.pdf'}  
Ergebnis wäre dann "test.pdf.pdf"
Member: NetzwerkDude
NetzwerkDude Jan 22, 2019 at 11:08:54 (UTC)
Goto Top
Rename-Item -NewName {$_.Name -replace '.pdf.importing','.pdf'}  

in der Zeit hättest auch selber eine lösung schreiben können statt an mir rumzunörgeln :-P
Member: Kraemer
Kraemer Jan 22, 2019 updated at 15:44:48 (UTC)
Goto Top
Zitat von @NetzwerkDude:
in der Zeit hättest auch selber eine lösung schreiben können statt an mir rumzunörgeln :-P
na klar - nur hätte dann keiner was gelernt face-smile