일부 프로그램으로 채워지는 디렉토리가 있습니다. 이 디렉토리를 모니터하고 파일이 디렉토리에 계속 추가되는지 확인하고 싶습니다. 5 분 동안 예를 들어 파일이 디렉토리에 추가되지 않으면 알림을 받고 싶습니다. 파일도 삭제되지만 새로운 파일을 신경 써야합니다.
스크립트는 3 시간마다 약 20 분 동안 실행됩니다. 은 FileSystemWatcher에 대한
코드 :FileSystemWatcher를 사용하여 디렉토리 모니터링
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\temp\test"
$watcher.IncludeSubdirectories = $true
$watcher.EnableRaisingEvents = $true
$created = Register-ObjectEvent $watcher "Created" -Action {
write-host "Created: $($eventArgs.FullPath)"
Get-Date -Format "HH:mm:ss" | Out-File "C:\temp\log.txt" -Append
}
내가이 achive 수있는 방법을 모른다, 나는 모든 입력에 대한 감사 해요.
하지만 일부 파일을 검사하기 전에 제거하면 어떻게됩니까? – Richard
@ 리차드 - 누군가 수동으로 파일을 삭제하면 LastWriteTime도 업데이트되어 문제를 혼동시킬 수 있습니다. 하지만 나는 OP가 항상 그 디렉토리에 쓰여진 파일이 있는지 확인하기를 원한다고 가정합니다. 적용되지 않는 추가 사용 사례는 항상 생각할 수 있습니다. –
스크립트는 24/7이 아닌 약 20 분 동안 만 실행됩니다. 당신이 확인하기 전에 파일이 사라 졌을 가능성이 높지만 항상 새로운 파일이 있는지 확인해야합니다. 나는 해결책을 시험해보고 다시보고 할 것이다. –