Я пытаюсь фильтровать расширение файла, равный .config
и имя файла не содержит vshost в имени, поэтому я запускаю этот скрипт:Фильтрация файлов с -notcontains
$files = dir
foreach($file in $files) {
if($file.Name -notcontains 'vshost' -and $file.Extension -eq '.config') {
Write-Host $file;
}
}
Но выход все еще содержит файлы с vshost
в названии:
foo.exe.config
foo.vshost.exe.config
foo2.vshost.exe.config
ожидаемый результат:
foo.exe.config
Что мне не хватает и как это исправить?
'-notcontains' является сбор оператор, а не строка оператора. '-notlike '* vshost *'' – PetSerAl
Извините downvotes за смущение, это первый раз, когда я когда-либо использую скрипт командной оболочки. – Jack
Вероятно, потому, что вы поняли это, прочитав справку (показывает небольшое исследование) :-) https://technet.microsoft.com/en-us/library/hh847759.aspx –