Я пытаюсь запустить сценарий Powershell для удаления определенных файлов в каталоге. Имя должно содержать blahblahblah
для меня, чтобы иметь возможность удалить это.Сравнение строк не сравнивается
В моем тестовом подкаталоге у меня есть несколько файлов с этим именем. Однако, когда я выполнить следующий код:
$itemsToDelete = get-childItem -path $pathName | where {$_.Name -contains blahblahblah"}
Он не выбирает каких-либо предметов.
Я проверил трижды, чтобы убедиться, что я в правильном каталоге при выполнении сценария.
EDIT
Как уже было сказано мне. Я использовал contains
.
$itemsToDelete = get-childItem -path $pathName | where {($_.Name).Contains("blahblahblah")}
Правильно вылечил мое замешательство.
'-contains' [не работает, как вы, вероятно, думаете, что он должен работать] (http://technet.microsoft.com/en-us/library/hh847759.aspx). Это не ваша вина - имя оператора вводит в заблуждение. Во всяком случае, просто используйте '-match'. –
Вы правы. 'где {($ _. Name) .Contains (" blahblahblah ")'. Это работает. Спасибо. Если вы хотите отправить ответ, я с удовольствием за исключением. – Johnrad