我想运行一个Powershell脚本来删除目录中的某些文件。该名称必须包含blahblahblah
,因为我可以删除它。字符串比较没有比较
在我的测试子目录中,我有几个这样的文件名。然而,当我执行下面的代码:
$itemsToDelete = get-childItem -path $pathName | where {$_.Name -contains blahblahblah"}
它不选择任何项目。
我有三重检查,以确保在执行脚本时我处于正确的目录中。
编辑
因为已经向我指出。我错误地使用了contains
。
$itemsToDelete = get-childItem -path $pathName | where {($_.Name).Contains("blahblahblah")}
正确治愈了我的困惑。
'-contains' [不像你可能认为它应该工作](http://technet.microsoft.com/en-us/library/hh847759.aspx)。这不是你的错 - 经营者的名字是误导性的。无论如何,只需使用'-match'。 – 2014-10-10 15:26:21
你是对的。 '{($ _。Name).Contains(“blahblahblah”)'。这工作。谢谢。如果你想发表一个答案,我会很乐意除外。 – Johnrad 2014-10-10 15:31:10