0

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時間ごとにフォルダーに到着したかどうか、またはデータがない時間があるかどうかを確認する方法が必要です...

4

1 に答える 1

0

Windows スケジューラ (1 時間ごとに実行される) で実行するように powershell スクリプトをセットアップすることができます。このように、スクリプトは過去 1 時間以内にデータが到着したかどうかのみを確認する必要があります。

于 2012-12-28T03:35:48.703 に答える