J'essaie de copier des fichiers d'un dossier source vers un dossier de destination. Je voudrais seulement copier les fichiers qui ont été modifiés au cours des 20 dernières minutes. Pendant que je copie, je voudrais aussi ajouter la date et l'heure à la fin du nom de fichier. Le script que j'ai actuellement est:Copier et renommer des fichiers modifiés au dernier jour à l'aide de Powershell
$DestinationFolder = "C:\Output\"
$timespan = new-timespan -minutes 20
$Files = Get-ChildItem "C:\Input\*" -File
foreach ($File in $Files) {
if ($File.LastWriteTime -gt $timespan)
{
Copy-Item -Path $_.FullName -Destination $DestinationFolder$($_.BaseName)_$ ($_.LastWriteTime.ToString('yyyyMMdd_hhmmss'))$($_.Extension)
}
}
Je reçois des messages d'erreur dans powershell lorsque je tente de tester mon scipt:
Impossible de comparer « 21/07/2017 07:31:01 » à " 00:20:00 ". Erreur: "Impossible de convertir la valeur" 00:20:00 "du type " System.TimeSpan "pour taper" System.DateTime "." À la ligne: 2 car: 9 + if ($ File.LastWriteTime $ -gt timespan) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ + CategoryInfo: InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId: ComparisonFailure
Quelles sont les erreurs que vous obtenez? Les messages d'erreur dans PowerShell sont *** généralement *** assez instructifs, à la fois sur ce qui ne va pas et sur ce qui ne va pas. Si vous incluez les messages d'erreur dans votre question, il sera plus facile de vous aider. –