Neuste Datei via PowerShell kopieren
Hallo zusammen,
ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht diesen bei mir anzuwenden.
Die Abfrage läuft, nach einer Minute ist immer noch nix passiert, Abfrage wird noch ausgeführt und es kommt kein Fehler. Hatte diese bisher immer gestoppt, da ich mir dachte, ich habe bestimmt noch was falsch gemacht.
Link, von wo ich den Code habe
So habe ich ihn angepasst:
Es handelt sich um eine csv Datei, welche kopiert werden soll. Insgesamt gibt es immer 2, welche zu unterschiedlichen Pfaden sollen.
Dateiname: AZ_System1_Sys2Sys_DatumVortag.csv
Erstellungsdatum ist immer der aktuelle Tag.
Schon einmal vielen Dank
ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht diesen bei mir anzuwenden.
Die Abfrage läuft, nach einer Minute ist immer noch nix passiert, Abfrage wird noch ausgeführt und es kommt kein Fehler. Hatte diese bisher immer gestoppt, da ich mir dachte, ich habe bestimmt noch was falsch gemacht.
Link, von wo ich den Code habe
So habe ich ihn angepasst:
dir \\Adress\AZ_System1_Sys2Sys* | ?{$_.LastWriteTime -gt (Get-date).AddDays(-1)} | Copy-Item -Destination "\\zieladresse"
Es handelt sich um eine csv Datei, welche kopiert werden soll. Insgesamt gibt es immer 2, welche zu unterschiedlichen Pfaden sollen.
Dateiname: AZ_System1_Sys2Sys_DatumVortag.csv
Erstellungsdatum ist immer der aktuelle Tag.
Schon einmal vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 355677
Url: https://administrator.de/forum/neuste-datei-via-powershell-kopieren-355677.html
Ausgedruckt am: 23.12.2024 um 18:12 Uhr
11 Kommentare
Neuester Kommentar
Neuste Datei via PowerShell kopieren
gci "\\Adress\AZ_System1_Sys2Sys*" -File | sort LastWriteTime -Desc | Select -First 1 | Copy-Item -Destination "\\zieladresse" -Force
Moin,
wenn das so ist, warum passt du das Skript nicht entsprechend an?
Gruß
wenn das so ist, warum passt du das Skript nicht entsprechend an?
Die Abfrage läuft, nach einer Minute ist immer noch nix passiert,
da stellen sich 2 Fragen: Wie schnell ist die Netzwerkverbindung und wie viele Dateien liegen in dem Verzeichnis...Gruß
Hallo kaiuwe28,
auch wenn Specht die Aufgabe vermutlich schon gelöst hat...
Deine Aufgabenbeschreibung ist unklar und/oder fehlerhaft.
wäre dann die Antwort.
Copy oder Move zu unterschiedlichen Pfaden?
Im Skript steht copy, aber dann wären es nicht insgesamt 2, sondern jeden Tag zwei mehr.
Gruß Frank
auch wenn Specht die Aufgabe vermutlich schon gelöst hat...
Deine Aufgabenbeschreibung ist unklar und/oder fehlerhaft.
copy *.csv zielordner
wäre dann die Antwort.
Copy oder Move zu unterschiedlichen Pfaden?
Im Skript steht copy, aber dann wären es nicht insgesamt 2, sondern jeden Tag zwei mehr.
Dateiname: AZ_System1_Sys2Sys_DatumVortag.csv
Wenn es 2 (pro Tag) sind, können nicht beide diesen Namen haben oder liegen sie in unterschiedlichen Quellen oder haben sie unterschiedliche Extensionen?Gruß Frank
Zitat von @kaiuwe28:
Hallo Specht,
vielen Dank dir!
Wenn ich Copy zu Move ersetze, dann würde er ja die Datei verschieben.
Kann ich da jetzt auch sagen, dass alle Dateien dieses Types älter 2 Tage verschoben werden?
LogischHallo Specht,
vielen Dank dir!
Wenn ich Copy zu Move ersetze, dann würde er ja die Datei verschieben.
Kann ich da jetzt auch sagen, dass alle Dateien dieses Types älter 2 Tage verschoben werden?
gci "\\Adress\AZ_System1_Sys2Sys*" -File | ?{$_.Lastwritetime -lt (get-date).Date.AddDays(-2)} | move-Item -Destination "\\zieladresse" -Force
Hallo kaiuwe28,
Wie äußern die sich?
Poste doch bitte auch mal ein
und versuch Deine Aufgabenstellung final zu formulieren.
Gruß Frank
EDIT:
Habe gerade erst gesehen, dass Du einige meine Nachfragen schon beantwortet hattest.
Verzeih bitte meine Unaufmerksamkeit.
Zitat von @kaiuwe28:
...Beispiel 4c probiert und die 30 auf 3 angepasst, aber die Schleife läuft bei mir immer auf Fehler.
sieht Dein Skript folglich so aus?:...Beispiel 4c probiert und die 30 auf 3 angepasst, aber die Schleife läuft bei mir immer auf Fehler.
Set-StrictMode -Version "2.0"
Clear-Host
$Path = "C:\temp\Homes\"
$ArchivPath = "C:\Temp\HomesArchiv\"
$JetztMinus3Tage = (Get-Date).AddDays(-3)
$FilesAelter3Tage = @(Get-ChildItem $Path -recurse| Where{$JetztMinus3Tage -gt $_.CreationTime})
$FilesAelter3Tage | ForEach{
$ArchivPath=$($_.FullName).Replace($Path,$ArchivPath)
$ArchivPath = Split-Path $ArchivPath -Parent
New-Item -path $ArchivPath -type Directory -EA 0 #keine Fehlermeldung
Move-item -Path $_.FullName -Destination $ArchivPath -EA 0 #keine Fehlermeldung
If($?){
"{0} wurde erfolgreich nach {1} verschoben" -f $_.FullName,$ArchivPath
}else{
$out= "{0} wurde nicht nach {1} verschoben" -f $_.FullName,$ArchivPath
Write-Host $out -BackgroundColor Red -ForegroundColor Blue
}
}
Wie äußern die sich?
Poste doch bitte auch mal ein
dir *.* quellordner
und versuch Deine Aufgabenstellung final zu formulieren.
- Was habe ich
- Was will ich
- Wie versuche ich es zu erreichen
- Was geht dabei schief (unerwünschte Ergebnisse/Fehlermeldungen)
Gruß Frank
EDIT:
Habe gerade erst gesehen, dass Du einige meine Nachfragen schon beantwortet hattest.
Verzeih bitte meine Unaufmerksamkeit.
Hallo kaiuwe28,
kannst Du bei den CSV erzeugenden Skripten nicht gleich die jeweiligen Zielordner entsprechend anpassen und benötigst dann kein Verschieben-Skript?
Sie ist ja nur bedingt kompatibel zu "verschieben".
Gruß Frank
Zitat von @kaiuwe28:
Für jede csv Datei gibt es einen Pfad / Ziel, also System1 zu Zieladresse1 und System2 zu Zieladresse2.
Da Du mittlerweile von Verschieben sprichst,Für jede csv Datei gibt es einen Pfad / Ziel, also System1 zu Zieladresse1 und System2 zu Zieladresse2.
kannst Du bei den CSV erzeugenden Skripten nicht gleich die jeweiligen Zielordner entsprechend anpassen und benötigst dann kein Verschieben-Skript?
Zitat von @kaiuwe28:
Aktuell würde ich gern noch die Dateien älter 3 Tage auf dem Orginalordner in einen "erledigt" Ordner verschieben.
Ist diese Anforderung noch aktuell?Aktuell würde ich gern noch die Dateien älter 3 Tage auf dem Orginalordner in einen "erledigt" Ordner verschieben.
Sie ist ja nur bedingt kompatibel zu "verschieben".
Gruß Frank