Powershell-Skript zum kopieren von Dateien basierend auf dem Datum modifiziert, um zu überprüfen neueste Datei von einem remote-Standort
Ich bin neu in powershell-scripting und ich kann nicht herausfinden, warum mein script kopiert
alle Dateien und scheint nicht zu überprüfen, das Datum und kopiert dann alle Dateien
sowieso. Ich habe versucht zu tun, durch die Tage und Minuten auch, aber ich bin nicht ganz sicher
wie Sie das tun. jede Hilfe würde groß sein!
see my script below.
$RemotePath = "\\eb-pc\E$\testlocation\*.txt"
$LocalPath = "C:\testlocation"
$Max_days = "-1"
#Max_mins = "-5"
$Curr_date = get-date
#Checking date and then copying file from RemotePath to LocalPath
Foreach($file in (Get-ChildItem $RemotePath))
{
if($file.LastWriteTime -gt ($Curr_date).adddays($Max_days))
{
Copy-Item -Path $file.fullname -Destination $LocalPath
#Move-Item -Path $file.fullname -Destination $LocalPath
}
}
InformationsquelleAutor Eric Belloso | 2015-04-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, nutzen, Stunden und Minuten anstelle von AddDays, benutzen Sie einfach die .AddMinutes(), .AddHours(), oder .AddSeconds () - Methoden statt.
Für was es Wert ist, habe ich einen kleinen Modifikations, das hinzufügen einer Else{Scriptblock}, um das Skript zu echo aus den Dateien, die nicht kopiert werden. Wie geschrieben wird sich der code nur kopieren von Dateien, geschrieben in den letzten 24 Stunden.
InformationsquelleAutor FoxDeploy
Es hat eine Weile, da ich nichts in der PowerShell. Allerdings möchten Sie vielleicht, um zu versuchen, um das Echo aus den Werten, die Sie vergleichen, um zu sehen, was Sie wirklich zurückkehren.
Echo "LastWrite :" & $Datei."LastWriteTime"
Echo "Kopiere Nach :" & ($Curr_date).adddays($Max_days)
Dies würde helfen, zu bestimmen, was Sie versuchen zu vergleichen.
HopeThisHelps zumindest ein wenig.
InformationsquelleAutor Tom Stephan