Bonjour,
je débute en script powershell et j'aurai besoin de vos lumières s'il vous plait.
je voudrais créer un script qui me copierais les fichiers plus récent se trouvant dans un répertoire A que le celui dans le répertoire B en fonction de la date de modification.
je précise que j'ai des fichiers de deux formats dans les deux répertoires, mais mon format de comparaison sera avec un fichier .log
tous les 2 jours je dois copier des fichiers du répertoire A vers B, d'un répertoire C vers D ...etc une fois le premier trouvé je ferais le reste seul pour apprendre encore :)
le nombre de fichiers a copier varie en fonction des jours, je ne peux donc pas me baser sur cela, d’où mon point de comparaison avec la date de modification
j'espère avoir été assez clair, n'hésitez pas a me poser des questions si cela ne l'ai pas
je vous mets mes lignes de commande
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| $sourcelog = "C:\Users\thomass\Documents\Ancien_dossier\*.log"
$destination = "C:\Users\thomass\Documents\nouveau_dossier\"
$sourcebak = "C:\Users\thomass\Documents\Ancien_dossier\*"
$Fichiers = Get-ChildItem $sourcebak
$File=Get-ChildItem "C:\Users\thomass\Documents\nouveau_dossier\*.log"
$date = $File.LastWriteTime
Write-Host $date
Foreach ($Fichier in Get-ChildItem $sourcebak) {
if ($Fichier.creationTime -ge $date )
{
Copy-Item -Path $Fichier.FullName -Destination $destination
Write-Host 'Le fichier' $Fichier 'a été copié'
}
} |
mais j’obtiens plusieurs erreur de ce type :
Impossible de comparer «10/04/2018 15:41:51» avec «10/08/2018 15:39:03 10/04/2018 18:20:12». Erreur: «Impossible de
convertir la valeur «System.Object[]» du type «System.Object[]» en type «System.DateTime».»
Au caractère Ligne:15 : 9
+ if ($Fichier.creationTime -ge $date )
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:) [], RuntimeException
+ FullyQualifiedErrorId : ComparisonFailure
j'ai également essayé via un pipe mais j'obtiens le même message d'erreur
je sais que cela est dut a mon point de comparaison avec les dates de modification mais je bloque sur ce point..
merci pour votre aide
Partager