$userName = $env:USERNAME $source = "B:\log" $destination = "C:\Users\$userName\Desktop\LOG et SCAM\logs" $count = 0 Write-Host "Récupération et mise à jours des logs sur le PC en cours...." # Copier les fichiers .txt de la source vers la destination s'ils sont nouveaux ou modifiés Get-ChildItem $source -Filter *.txt -Recurse | ForEach-Object { if (!(Test-Path -Path "$destination\$_")) { Copy-Item $_.FullName -Destination $destination $count++ } elseif ((Get-Item $_.FullName).LastWriteTime -gt (Get-Item "$destination\$_").LastWriteTime) { Copy-Item $_.FullName -Destination $destination -Force $count++ } } # Calculer le nombre de fichiers .txt dans le dossier de destination $totalFiles = (Get-ChildItem $destination -Filter *.txt).Count # S'assurer que le nombre total de fichiers ne dépasse pas 700 après la copie if ($totalFiles -gt 700) { $filesToDelete = $totalFiles - 700 # Calculer le nombre de fichiers à supprimer pour maintenir le total à 700 if ($filesToDelete -gt 0) { Get-ChildItem $destination -Filter *.txt | Sort-Object LastWriteTime | Select-Object -First $filesToDelete | Remove-Item -Force } } # Afficher le nombre de fichiers copiés Write-Host "Nombre de fichiers copiés : $count"