Объединение строк и результатов выражений в PowerShell - PullRequest
7 голосов
/ 20 января 2011

Я хочу записать текущий идентификатор процесса в PowerShell. Это работает:

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

Однако я хочу сделать это в одну строку, если это возможно. Замена $([System.Diagnostics.Process]::GetCurrentProcess()).Id для переменной, похоже, не оценивает выражение.

Ответы [ 3 ]

12 голосов
/ 20 января 2011
'My process id is {0}' -f [System.Diagnostics.Process]::GetCurrentProcess().Id

А если мы используем автоматические переменные:

'My process id is {0}' -f $pid
9 голосов
/ 20 января 2011

Это может быть немного проще:

$pid

или

"My process id is $pid"

Для получения дополнительной информации об автоматических переменных выполните:

man about_automatic_variables
7 голосов
/ 20 января 2011
Write-Output "My process ID is $([System.Diagnostics.Process]::GetCurrentProcess().Id)"

Обычно вам просто нужно переместить закрывающую скобку после идентификатора.

...