2017-07-07 39 views
0

我有这个PowerShell脚本来监视目录中存在的文件数量。它是:如何使用PowerShell监控目录中传入和处理文件的数量?

#sleep in seconds 
$SleepTimeOut = 300 

#start looping here 
Do{ 
    $path = 'TargetDirectory' 
    $stats = 0 
    $files = @(Get-ChildItem -Path $path -Filter '*.ZIP') 
    if ($files -ne $null) { 
      $stats = $files.Count 
      } else { 
    $msg = 'Message: No files' 
    Write-Output $msg 
    } 
    Get-Date | Out-File -Append 'C:\Monitoring\Logs.csv' 
    Write-Output "Count: $stats files" | Out-File -Append 'C:\Monitoring\Logs.csv' 

    Write-Output ".. Files COUNT in Progress...Please Don't Close ..`n" 
    sleep $SleepTimeOut 

} 
while ($Exit -ne $True) 

它将结果附加到CSV文件中。我只想知道是否有方法在该脚本的5分钟睡眠持续时间内监视传入和处理的文件。任何帮助将非常感激。

+1

你可以使用'IO.FileSystemWatcher'和'Register-ObjectEvent' – BenH

+1

只输出'$ files'? – pandemic

+0

文件列表和数量检查是我需要的。一定会试试这个。谢谢!自从我离开办公室以后,我会在下周回来。 :) – Didge

回答

0

正如BenH提到的,你可以尝试使用IO.FileSystemWather事件。如果该选项对您不起作用,则您的另一个选项是对要观看的文件夹使用GetChildItem,并检查每个文件中的LastWriteTime。执行循环运行的最后一次比较检查并记录任何新的或更新的文件。

+0

谢谢!我一定会试一试并提供反馈意见。 – Didge

相关问题