我编写了一个正常运行的Windows PowerShell脚本,您可以在this thread中看到它的起源,它会在将.htm文件添加到该文件夹时监视文件夹并运行批处理文件。
一切正常,但我现在正试图过滤哪种文件触发脚本。从我读过的一些内容来看,这应该只包含以A到Z开头的.htm文件:
$filter '[A-Z]*.htm'
但它似乎与任何东西都没有匹配。
我试图排除这样的文件:
~$abc.htm
我现在拥有的所有.htm文件:
$filter = '*.htm'
它可以正常工作,但如何排除以~$
开头的文件,即非字母字符?实际上,我想要排除的内容始终以~$
开头,如果它更容易明确排除那些。
更新
呃,关于PowerShell的this page似乎是在推荐这种语法。它显然是一个不同的案例,但似乎也许这意味着它可以识别PS。我意识到语法是错误的并且问它应该是什么,换句话说,所以downvoting似乎有点奇怪。正如我写的,我试图匹配
以A到Z开头的.htm文件
如此清楚地说明了我的意思是不匹配任何东西。
答案 0 :(得分:1)
它不是支持字符范围的Filter
参数,而是Path
参数。 Filter
仅支持基本通配符匹配(*
和?
)
Get-ChildItem -Path '.\[A-Z]*.htm'
应该做的伎俩