Подтвердить что ты не робот

Как расширить переменные-члены в Write-Host или двойные кавычки?

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

Write-Host "Hello World, $name"

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

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

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

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

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

4b9b3361

Ответ 1

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

"Foo $($bar.Property)"

Ответ 2

Попробуйте следующее:

$dir = ls
Write-Host "Dir elements:" $dir.Length