여기 실행 내가 시도 스크립트이며, 그것은 단지 정지됩니다. 다음은 원하는 기간을 사용하여 복사하는 예제입니다.
$SourceFolder = "C:\documents\testing123.txt"
$targetFolder = "D:\documents"
$startTime =[DateTime]"08/01/2015"
$endTime = $startTime.AddDays(1)
Get-ChildItem -Path $SourceFolder -Filter E0100* |
Where-Object {$_.LastWriteTime -ge $startTime -and $_.LastWriteTime -lt $endTime} |
Move-Item -destination $targetFolder
다른 언급했듯이 소스 폴더 경로가 올바르지 않은 것처럼 보입니다. 여기
내가 시도 스크립트의
robocopy
버전입니다
$SourceFolder = "D:\test"
$targetFolder = "D:\test2"
$startTime =[DateTime]"01/05/2017"
$endTime = $startTime.AddDays(1)
$files = @()
Get-ChildItem -Path $SourceFolder -Filter * |
Where-Object {$_.LastWriteTime -ge $startTime -and $_.LastWriteTime -lt $endTime -and $_.Attributes -ne 'Directory'} |
ForEach-Object { $files += $_.Name}
if($files.Count -gt 0)
{
Write-Verbose "running robocopy $SourceFolder $targetFolder $files /mov" -Verbose
robocopy $SourceFolder $targetFolder $files /mov
}
내가 대신 robocopy''사용하는 것이 좋습니다 것입니다 (날짜, 경로 및 필터가 변경되었습니다). –
$ SourceFolder는 파일이 아닌 폴더 여야합니까? –
또한 LastWriteTime을 날짜 문자열과 비교하는 것이 시간을 포함하지 않으므로 작동하지 않을 수 있습니다. $ _. LastWriteTime.Date -eq "08/01/2015" –