2012-12-26 64 views
0

每小时的数据会进入我的目录树的每个文件夹。我需要检查它是否每隔一小时发生一次,或者是否有任何中断。 (例如,没有数据进来2-3小时)。检查数据是否连续发送

我试图写一个PowerShell脚本,将检查LastWriteTime为每个文件夹,但它会与差距解决问题。如果我在早上检查日志,我会发现如果一小时前有一些数据到达文件夹,那么一切都可以,但在几个小时前就没有。

所以恕我直言LastWriteTime是不适合它。

此外,子文件夹也存在问题。我只需要检查每个目录树中的最后一个文件夹。我不知道如何将降大任之前的文件夹,如:

​​

我曾试图写一个脚本来检查的LastAccessTime,但它抛出一个错误:

Expressions are only allowed as the first element of a pipeline.

的脚本如下:

$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 

但正如我之前所说,它不能解决问题。

- 正是关于连续数据收集检查的主要问题。我会制作目录树手,但我需要的方式来检查数据是否每个小时到达文件夹或有没有数据的任何时间...

回答

0

您可以尝试设置PowerShell脚本在Windows调度程序(每小时运行一次)。这样,脚本只需检查过去一小时内是否有数据到达。