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 Zitieren
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 Zitieren
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 :-) Zitieren
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. Zitieren
SilentDemise Geschrieben 8. März 2012 Geschrieben 8. März 2012 ich bau gleich in ner ruhigen Sekunde mal nen sample... :-) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.