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

Ausgedruckt am: 19.03.2024 um 09:03 Uhr

Mitglied: Kraemer
Kraemer 22.01.2019 um 11:19:47 Uhr
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ß
Mitglied: NetzwerkDude
NetzwerkDude 22.01.2019 aktualisiert um 11:44:17 Uhr
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
Mitglied: emeriks
emeriks 22.01.2019 um 11:47:48 Uhr
Goto Top
Zitat von @NetzwerkDude:
-NewName "test.pdf"
Dieser Teil müsste dann aber nochmal überdacht werden.

E.
Mitglied: Kraemer
Kraemer 22.01.2019 aktualisiert um 11:53:32 Uhr
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"  
Mitglied: NetzwerkDude
NetzwerkDude 22.01.2019 aktualisiert um 12:02:45 Uhr
Goto Top
Jaja
Rename-Item -NewName {$_.Name -replace '.importing','.pdf'}  
Mitglied: Kraemer
Kraemer 22.01.2019 um 12:06:04 Uhr
Goto Top
Zitat von @NetzwerkDude:

Jaja
Rename-Item -NewName {$_.Name -replace '.importing','.pdf'}  
Ergebnis wäre dann "test.pdf.pdf"
Mitglied: NetzwerkDude
NetzwerkDude 22.01.2019 um 12:08:54 Uhr
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
Mitglied: Kraemer
Kraemer 22.01.2019 aktualisiert um 16:44:48 Uhr
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