每小时数据都会进入我的目录树的每个文件夹中。我需要检查它是否每小时都有,或者是否有任何中断。 (例如,没有数据进入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,但我需要检查数据是否每小时都进入文件夹,或者有没有数据的任何时间......
答案 0 :(得分:0)
您可以尝试设置powershell脚本以在Windows Scheduler中运行(每小时运行一次)。这样,脚本只需检查过去一小时内是否有任何数据到达。