Как расширить переменные-члены в Write-Host или двойные кавычки? - PullRequest
37 голосов
/ 17 мая 2011

Я написал сценарий PS и в целях диагностики отображаю сообщения на экране с помощью Write-Host. Это нормально, если мне нужно расширить нормальную переменную, например

Write-Host "Hello World, $name"

Проблема начинается, когда я пытаюсь отобразить некоторую переменную-член, как показано ниже

Write-Host "Hello World, $Person.Name"

Это не расширяется, как ожидалось. Обходной путь, который я использую, заключается в том, чтобы использовать временную переменную как показано ниже

$personName  = $Person.Name
Write-Host "Hello World, $personName"

Есть ли элегантный способ сделать это без использования переменной temp?

Ответы [ 2 ]

58 голосов
/ 17 мая 2011

Если вы хотите использовать доступ к свойству в строках в двойных кавычках, вам нужно подвыражение:

"Foo $($bar.Property)"
0 голосов
/ 17 мая 2011

Попробуйте это:

$dir = ls
Write-Host "Dir elements:" $dir.Length
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...