Я пытаюсь отфильтровать объект, у которого есть поле Title, и я хочу проигнорировать регистр. Есть ли способ убедиться, что чувствительность к регистру отключена?
| Where-Object {$_.Title -like "myString"}
Ответ 1
PowerShell принципиально нечувствителен к регистру (например, "HEy" -like "hey" - это True).
Если вы хотите использовать чувствительную к регистру версию like, используйте -clike.
Ответ 2
По умолчанию чувствительность к регистру отключена:
PS> 'test','TEST','TeSt','notest' | ? { $_ -like 'test' }
test
TEST
TeSt
Из документации:
По умолчанию все операторы сравнения нечувствительны к регистру. Чтобы сделать оператор сравнения чувствительным к регистру, перед именем оператора ставится "c". Например, чувствительной к регистру версии "-eq" является "-ceq". Чтобы сделать регистр нечувствительным явным, перед оператором добавьте "i". Например, явно "нечувствительной к регистру" версией "-eq" является "-ieq".
Для получения дополнительной информации запустите help about_comparison_operators