在PowerShell中连接字符串和表达式结果

时间:2011-01-19 23:08:12

标签: powershell string-concatenation

我想在PowerShell中写出当前的进程ID。这有效:

$processId = $([System.Diagnostics.Process]::GetCurrentProcess()).Id
Write-Output "My process ID is $processId"

但是,如果可能的话,我想在一行中完成。将$([System.Diagnostics.Process]::GetCurrentProcess()).Id替换为变量似乎不会评估表达式。

3 个答案:

答案 0 :(得分:12)

'My process id is {0}' -f [System.Diagnostics.Process]::GetCurrentProcess().Id

如果我们使用自动变量:

'My process id is {0}' -f $pid

答案 1 :(得分:9)

这可能更简单:

$pid

"My process id is $pid"

有关自动变量执行的更多信息:

man about_automatic_variables

答案 2 :(得分:7)

Write-Output "My process ID is $([System.Diagnostics.Process]::GetCurrentProcess().Id)"

基本上你只需要在Id之后移动右括号。