gpt4 book ai didi

Powershell IO.FileSystemWatcher 过滤器

转载 作者:行者123 更新时间:2023-12-02 22:39:07 26 4
gpt4 key购买 nike

我创建了一个 IO.filesystemwatcher 来监视文件夹并在将某些文件类型写入该位置时采取措施。我正在寻找文件类型 .jpg.tmp。我已将过滤器命名为变量,并且过滤器在包含一种文件类型而不是两种类型时起作用。

以下代码功能正常:

$filter = '*.jpg'
New-Object IO.FileSystemWatcher $Folder, $filter -Property @{IncludeSubdirectories = $true;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}

以下代码功能正常:

$filter = '*.tmp'
New-Object IO.FileSystemWatcher $Folder, $filter -Property @{IncludeSubdirectories = $true;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}

下面的代码不起作用:

$filter = '*.tmp','*jpg'
New-Object IO.FileSystemWatcher $Folder, $filter -Property @{IncludeSubdirectories = $true;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}

我也尝试过 $filter = '*.tmp' -or '*jpg'

我确信有不同的方法可以让它工作,但我不太擅长使用 IO.filesystemwatcher。任何建议表示赞赏。

谢谢

最佳答案

.Filter property[string]类型的并且只支持单个通配符表达式;来自文档:

Use of multiple filters such as "*.txt|*.doc" is not supported.

听起来你必须:

  • 要么:通过将 .Filter 设置为 ''(空字符串)来监视对所有 文件的更改,以及然后在您的事件处理程序中执行您自己的过滤。

  • 或者:为每个过滤器设置一个单独的观察器实例(通配符模式)。 谢谢,mhhollomon .

关于Powershell IO.FileSystemWatcher 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53872368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com