2016-10-01 23 views
1

Write-Hostを$()サブ表現で使用すると、常にその位置に関係なく文字列の先頭に出力されます。例えば

"This is $(Write-Host 'now at the beginning' -NoNewline)" 

出力(例えば"Today is $((Get-Date).DayOfWeek)"Today is Friday)ここで、期待どおり

now at the beginningThis is 

他のコマンドレットが動作します。

Write-Hostはどのように異なるのですか?

+0

'Write-Host'はホストする文字列で、何も返しません。 – PetSerAl

答えて

3

"文字列の先頭に出力されません"、ホストに「後方」の順序で2回書き込みます。

  1. "abc $()"は、サブ式を含む文字列リテラルです。
  2. 文字列が、ある$()の評価$()
  3. の評価は今、文字列リテラルは今​​がnow at the beginningabc
画面に書き込まれ​​
  • ある画面now at the beginningに書き込み、何も
  • を返さない何を意味するかを計算します

    これはあなたの提案をしていません:

    1. "abc $(write-host 'hi')"
    2. "hiabc"
    3. 画面への書き込み。
  • 関連する問題