У меня есть этот простой скрипт, который, кажется, не работает.
param ($where, $what)
Write-Host "Finding in '$where' - '$what'"
if (!$what -match "\.sql$")
{
$what += ".sql"
Write-Host "Unmatched..."
}
else
{
Write-Host "Matched..."
}
Write-Host "Finding in '$where' - '$what'"
#Get-ChildItem $where $what -Recurse
В выходных данных всегда указывается Matched...
, когда это не должно.Удивительно, но сама линия соответствия ведет себя корректно при запуске в интерактивном окружении.
PS C:\Users\sjoshi> .\sc1 -where "." -what "*s*"
Finding in '.' - '*s*'
Matched...
Finding in '.' - '*s*'
Есть мысли, что здесь происходит?