检查数据是否连续出现

时间:2012-12-26 15:01:00

标签: powershell filesystems directory

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

我正在尝试编写一个PowerShell脚本,它会检查每个文件夹的LastWriteTime,但它可以解决间隙问题。如果我早上检查日志,我会发现如果一小时前某些数据进入文件夹就可以了,但几小时前就没有了。

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

子文件夹也存在问题。我只需要检查每个目录树中的最后一个文件夹。我不知道如何删除任何以前的文件夹,如:

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

但正如我之前所说,它无法解决问题。

- 关于检查连续数据集合的主要问题。我会制作dir tree bu hands,但我需要检查数据是否每小时都进入文件夹,或者有没有数据的任何时间......

1 个答案:

答案 0 :(得分:0)

您可以尝试设置powershell脚本以在Windows Scheduler中运行(每小时运行一次)。这样,脚本只需检查过去一小时内是否有任何数据到达。