如何在Powershell中使用FileSystemWatcher仅监控文件夹的某些子文件夹?
我像这样创建一个新的FileSystemWatcher:
$folder = 'path\to\root\monitoring\folder'
$filter = '*.xml'
$fsw = New-Object IO.FileSystemWatcher
$fsw.Path = $folder
$fsw.Filter = $filter
$fsw.IncludeSubdirectories = $true
$fsw.EnableRaisingEvents = $true
在根监控文件夹中有一个树状结构:
task01
task02
task03
我只想查看"已批准"的更改?文件夹。
最简单的解决方案是
$folder = 'path\to\root\monitoring\folder\*\approved'
但这似乎没有用......
答案 0 :(得分:0)
您必须在每个要监视的目录上设置一个观察程序,因为路径没有通配符支持(请参阅此链接上的例外部分:FileSystemWatcher.Path ) 尝试使用Filter属性来支持可能的通配符路径也不起作用。
答案 1 :(得分:0)
好吧,一种可能的解决方法是评估我们的事件处理程序(已创建、已更改等)中的“路径”值,以查看它是否适合您要监视和处理的文件夹的模式。如果合适,则继续运行Event Handler中的代码,如果不合适,则直接从Handler中返回。