如何在Write-Host或双引号中扩展成员变量?

时间:2011-05-17 17:12:49

标签: powershell

我编写了一个PS脚本,并且出于诊断目的,使用Write-Host将消息回显到屏幕。只要我必须像

那样扩展普通变量,这就没问题了
  

Write-Host "Hello World, $name"

当我尝试回复一些成员变量时问题开始

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

这不会按预期扩展。下面的工作是使用临时变量 如下

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

使用临时变量是否有一种优雅的方法?

2 个答案:

答案 0 :(得分:56)

如果要在双引号字符串中使用属性访问,则需要子表达式:

"Foo $($bar.Property)"

答案 1 :(得分:0)

试试这个:

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