Nikomania Geschrieben 7. März 2012 Geschrieben 7. März 2012 Moin, moin, ich beschäftige mich heute erstmals mit PowerShell auf einem Fileserver und bin zugegeben ziemlich hilflos. Mein Wunsch ist es auf einem Laufwerk alle Dateien rauszufiltern die exakt am 05.03.2012 um 11.59 verändert wurden. Im zweiten Schritt sollen diese Dateien an einen anderen Ort verschoben werden (und im finalen Schritt soll die Eingränzung auf zwischen 11.55 und 12.05 Uhr erweitert werden) Bisher taste ich mich nur ran und habe folgendes get-childitem -Path "E:\test_niko" where-object {$_.LastWriteTime -lt (get-date).AddDays(-1)} Hier fehlt natürlich die Suche in den Unterordnern und die Eingränzung auf das exakte Datum + Uhrzeit. Ich habe versucht mit Befehlen wie dem folgenden zu testen aber ohne Erfolg {$_.LastWriteTime -lt (get-date -year 2012 -month 03 -day 05) *** EDIT *** Bin etwas weiter und versuche mich jetzt an der Uhrzeit get-childitem -Path "E:\test_niko" -recurse | where-Object {$_.lastwritetime -gt "2012/03/05"} *** EDIT *** Danke für Eure Unterstützung und beste Grüße Niko
Nikomania Geschrieben 8. März 2012 Autor Geschrieben 8. März 2012 Hey, ich bin einen Schritt weiter aber scheiter am verschieben - die gewünschten Dateien werden zwar verschoben aber die Ordnerstruktur wird nicht beibehalten. get-childitem -Path "E:\test_niko" -recurse | where-Object {$_.lastwritetime -gt "2012/03/05 10:59" -AND $_.lastwritetime -le "2012/03/05 11:00"} | move-item -destination "E:\test2_niko" Hat hier jemand eine Idee? Beste Grüße Niko
SilentDemise Geschrieben 8. März 2012 Geschrieben 8. März 2012 Hallo Niko, das Problem ist, das du mit move-item jede Datei in den angegebenen Ordner verschiebst. Du musst dir also entweder die Ordnerstruktur beim durchgehen merken oder neu erzeugen :-)
Nikomania Geschrieben 8. März 2012 Autor Geschrieben 8. März 2012 Moin, aus diesem Grund versuche ich gerade folgendes: $Source=get-childitem -Path "E:\test_niko" -recurse | where-Object {$_.lastwritetime -gt "2012/03/05 10:59" -AND $_.lastwritetime -le "2012/03/05 11:00"} $command="robocopy $Source E:\test2_niko /E /MOV" $MC=[WmiClass] "Win32_Process" $null=$MC.create($command,$Null) Aber bislang ohne Erfolg... ich nehme an, dass die Übergabe der Variable $source nicht klappt.
SilentDemise Geschrieben 8. März 2012 Geschrieben 8. März 2012 ich bau gleich in ner ruhigen Sekunde mal nen sample... :-)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden