ソース フォルダから宛先フォルダにファイルをコピーしようとしています。過去 20 分間に変更されたファイルのみをコピーしたいと考えています。コピー中に、ファイル名の末尾に日付と時刻を追加したいと思います。私が現在持っているスクリプトは次のとおりです。
$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)
}
}
scipt をテストしようとすると、powershell でエラー メッセージが表示されます。
「2017/07/21 07:31:01」と「00:20:00」を比較できませんでした。エラー: 「"System.TimeSpan" 型の "00:20:00" 値を "System.DateTime" 型に変換できません。」行:2 文字:9 + if ($File.LastWriteTime -gt $timespan) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ + CategoryInfo : InvalidOperation: (:) []、RuntimeException + FullyQualifiedErrorId : ComparisonFailure