1時間ごとに、データはディレクトリツリーのすべてのフォルダに入ります。1時間ごとに届くのか、それとも中断があったのかを確認する必要があります。(たとえば、2〜3時間はデータが届きません。)
すべてのフォルダーをチェックするPowerShellスクリプトを作成しようとしてLastWriteTime
いますが、ギャップの問題は解決します。午前中にログを確認すると、1時間前に一部のデータがフォルダーに到着したが、数時間前にはそこになかった場合は、すべて問題がないことがわかります。
したがって、IMHOLastWriteTime
はそれに適していません。
また、サブフォルダーにも問題があります。すべてのディレクトリツリーの最後のフォルダのみをチェックする必要があります。次のような以前のフォルダを削除する方法がわかりません。
Z:\temp #need to drop
Z:\temp\foo #need to drop
Z:\temp\foo\1 #need to check
をチェックするスクリプトを書き込もうとしましたLastAccessTime
が、エラーが発生します。
式は、パイプラインの最初の要素としてのみ許可されます。
スクリプトは次のとおりです。
$rootdir = "Z:\SatData\SatImages\nonprojected\"
$timedec1 = (Get-date).AddHours(-1)
$timedec2 = (Get-date).AddHours(-2)
$timedec3 = (Get-date).AddHours(-3)
$timedec4 = (Get-date).AddHours(-4)
$dir1 = get-childitem $rootdir –recurse | ?{ $_.PSIsContainer } | Select-Object FullName | where-object {$_.lastwritetime -lt $timedec1} | $_.LastWriteTime -gt $timedec4 -and $_.LastWriteTime -lt $timedec3
$dir1
しかし、前に言ったように、それは問題を解決しません。
-継続的なデータ収集のチェックに関する主な質問。私はdirtreebu handを作成しますが、データが1時間ごとにフォルダーに到着したかどうか、またはデータがない時間があるかどうかを確認する方法が必要です...