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-ID: 351287

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

Ausgedruckt am: 25.11.2024 um 16:11 Uhr

134464
134464 10.10.2017 aktualisiert um 16:23:21 Uhr
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 ...
michi-ffm
michi-ffm 11.10.2017 um 15:37:11 Uhr
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.
michi-ffm
michi-ffm 11.10.2017 aktualisiert um 15:48:59 Uhr
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  
134464
134464 11.10.2017 um 15:52:21 Uhr
Goto Top
Schon mal was von -recurse gehört??
michi-ffm
michi-ffm 11.10.2017 um 16:04:24 Uhr
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 ???
134464
134464 11.10.2017 aktualisiert um 16:16:17 Uhr
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 ...
michi-ffm
michi-ffm 11.10.2017 um 16:36:10 Uhr
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  
134464
Lösung 134464 11.10.2017 aktualisiert um 16:46:02 Uhr
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.
michi-ffm
michi-ffm 12.10.2017 um 08:17:15 Uhr
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
134464
134464 12.10.2017 aktualisiert um 09:46:37 Uhr
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 ...