michi-ffm
Goto Top

Dateien löschen und Verschieben

Hallo Zusammen,

ich bin dabei ein Skript zuschreiben, leider fehlen mir hierzu die erforderliche Kenntnisse.

Ich habe folgenden Befehl:

$FilesToCheck = Get-ChildItem -Path "\\IP-Adresse\Destinations\Anschnitt\_ALT\*"  
Remove-Item $FilesToCheck

Diese funktioniert wunderbar, jedoch möchte ich nun folgendes:

1. Er soll zuerst alle Dateien die sich im _ALT Ordner befinden löschen (tut er)
2. Anschließend soll er alle Dateien die sich im Ordner(Anschnitt) befinden und älter als 1 Tag sind in Ordner _ALT verschieben

ist das möglich?

Content-Key: 351287

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

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

Mitglied: 134464
134464 Oct 10, 2017 updated at 14:23:21 (UTC)
Goto Top
gci "\\IP-Adresse\Destinations\Anschnitt" -File | ?{$_.LastWriteTime -lt (get-date).AddDays(-1)} | move-item -Destination "\\IP-Adresse\Destinations\Anschnitt\_ALT" -Force  
Gibt's hier schon haufenweise Skripte zum selben Thema ...
Member: michi-ffm
michi-ffm Oct 11, 2017 at 13:37:11 (UTC)
Goto Top
Hey,

vielen lieben Dank, ja das habe ich gesehen aber nicht genau das was ich brauche.

Dein Skript hat wunderbar funktioniert, jedoch verschiebt er nur Dateien die in diesem Ordner liegen, was ist mit Unterordner diese verschiebt er leider nicht.
Member: michi-ffm
michi-ffm Oct 11, 2017 updated at 13:48:59 (UTC)
Goto Top
Kann man das so lassen oder habe ich ein denk Fehler?

Alle Dateien und ( Unterordner ) von $FilesToCheck sollen in FilesToCheck2 verschoben werden


$FilesToCheck = Get-ChildItem -Path "\\IP-Adresse\Save\Kunde1",  
"\\IP-Adresse\Save\Kunde2",  
"\\IP-Adresse\Save\Kunde3",  
"\\IP-Adresse\Save\Kunde4",  
"\\IP-Adresse\Save\Kunde5",  
"\\IP-Adresse\Save\Kunde6",  
"\\IP-Adresse\Save\Kunde7,  
"\\IP-Adresse\Save\Kunde8",  
"\\IP-Adresse\Save\Kunde9",  
"\\IP-Adresse\Save\Kunde10"  


$FilesToCheck2 = Get-ChildItem -Path "\\IP-Adresse\Save\Kunde1\_ALT",  
"\\IP-Adresse\Save\Kunde2\_ALT",  
"\\IP-Adresse\Save\Kunde3\_ALT",  
"\\IP-Adresse\Save\Kunde4\_ALT",  
"\\IP-Adresse\Save\Kunde5\_ALT",  
"\\IP-Adresse\Save\Kunde6\_ALT",  
"\\IP-Adresse\Save\Kunde7\_ALT",  
"\\IP-Adresse\Save\Kunde8\_ALT",  
"\\IP-Adresse\Save\Kunde9\_ALT",  
"\\IP-Adresse\Save\Kunde10\_ALT"  


gci "$FilesToCheck" -File | ?{$_.LastWriteTime -lt (get-date).AddDays(-1)} | move-item -Destination "$FilesToCheck2" -Force  
Mitglied: 134464
134464 Oct 11, 2017 at 13:52:21 (UTC)
Goto Top
Schon mal was von -recurse gehört??
Member: michi-ffm
michi-ffm Oct 11, 2017 at 14:04:24 (UTC)
Goto Top
Leider nicht ich dachte ich löse das Problem mit einer Batch Datei, jedoch wurde mir immer Powershell empfohlen und meine Kenntnisse in Powershell sind = 10%

$FilesToChec = gci "\\IP-Adresse\Save\Kunde1" -Recurse ???
Mitglied: 134464
134464 Oct 11, 2017 updated at 14:16:17 (UTC)
Goto Top
$FilesToChec = gci "\\IP-Adresse\Save\Kunde1" -Recurse ???
Nur den Pfad musst du dann kürzen denn du willst ja alle Dateien aller Kunden Unterordner verarbeiten ...
Member: michi-ffm
michi-ffm Oct 11, 2017 at 14:36:10 (UTC)
Goto Top
Was meinst du mit Kürzen?
Also so in etwa?

$FilesToCheck = gci "\\IP-Adresse\Save\Kunde1","\\IP-Adresse\Save\Kunde2","\\IP-Adresse\Save\Kunde3","\\IP-Adresse\Save\Kunde4","\\IP-Adresse\Save\Kunde5" -Recurse   

$FilesToCheck2 = gci " "\\IP-Adresse\Save\Kunde1\_ALT","\\IP-Adresse\Save\Kunde2\_ALT","\\IP-Adresse\Save\Kunde3\_ALT","\\IP-Adresse\Save\Kunde4\_ALT","\\IP-Adresse\Save\Kunde5\_ALT" -Recurse   


gci "$FilesToCheck" -File | ?{$_.LastWriteTime -lt (get-date).AddDays(-1)} | move-item -Destination "$FilesToCheck2" -Force  
Mitglied: 134464
Solution 134464 Oct 11, 2017 updated at 14:46:02 (UTC)
Goto Top
Last post:
gci -Path "\\IP-Adresse\Save" -Directory | %{  
    $old = $_.Fullname + "\_ALT"  
    gci $_.Fullname -Recurse | ?{$_.Directory.Name -ne "_ALT" -and $_.LastWriteTime -lt (get-date).AddDays(-1)} | move-item -Destination $old -Force  
}
bin raus.
Member: michi-ffm
michi-ffm Oct 12, 2017 at 06:17:15 (UTC)
Goto Top
Vielen Lieben Dank aber das wird nicht funktionieren, weil du nur den Ordner "Save" durchsuchst jedoch sollte er alle Dateien in den Kunden Ordner in _ALT verschieben
Mitglied: 134464
134464 Oct 12, 2017 updated at 07:46:37 (UTC)
Goto Top
So ein Quatsch!! Du hast den Code nicht verstanden!!!
Der ackert alle Kundenordner durch und schiebt deren Dateien in deren jeweiligen Alt Ordner.
Also beschäftige dich erst mal damit bevor du voreilig solche falschen Schlüsse ziehst!
Man man man, keine Ahnung aber groß rum mullen ...