Script Powershell pour copier des fichiers à partir de la date de modification de vérifier nouveau fichier à partir d'un emplacement distant
Je suis nouvelle dans les scripts powershell et je ne peux pas comprendre pourquoi mon script copie
tous les fichiers et ne semble pas vérifier la date et copie tous les fichiers
de toute façon. J'ai essayé de faire par jours et à quelques minutes de trop, mais je ne suis pas tout à fait sûr
sur la façon de le faire. toute aide serait super!
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
}
}
OriginalL'auteur Eric Belloso | 2015-04-02
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez utiliser les Heures et les minutes, au lieu de AddDays, il suffit d'utiliser l' .AddMinutes(), .AddHours(), ou .AddSeconds() à la place.
Pour ce que ça vaut, j'ai fait une petite modification n', l'ajout d'un Else{Scriptblock} le script echo les fichiers qui ne sont pas copiées. Comme l'écrit votre code ne copie que les fichiers écrits dans les dernières 24 heures.
OriginalL'auteur FoxDeploy
Il a été un moment depuis que j'ai fait n'importe quoi dans PowerShell. Cependant vous pouvez essayer de reprendre les valeurs comparées pour voir ce qu'ils sont vraiment de retour.
Echo "LastWrite :" & $fichier.LastWriteTime
Echo "Copie d'Après :" & ($Curr_date).adddays($Jours_max)
Cela permettrait de déterminer ce que vous tentez de comparer.
HopeThisHelps au moins un peu.
OriginalL'auteur Tom Stephan