web-dev-qa-db-ja.com

ここにPowerShell-文字列拡張

ヒア文字列

Powershellの「here-string」に関するいくつかの例がありますが、「here-string」の展開にはほとんど遭遇していません。だから私はこれを投稿して助けになりました。

改行付きのリテラルを追加する場合は、一重引用符と二重引用符の両方をエスケープする必要はなく、"`r`n"のように改行する必要もありません。 「ヒア文字列」は、PowerShellで役に立ちます。彼らはで始まる必要があります

@ "
と改行し、改行で終了する必要があります
"@

For example:                        |Result:
                                    |
@"                                  |
Hello world! 09/25/2014 11:39:56    |      Hello world! 09/25/2014 11:39:56
'(this will appear as is)'          |      '(this will appear as is)'
!                                   |      !
"@                                  |
11
yantaq

CmdLetと日付変数を導入して、現在の日付を次のように表示する方法は次のとおりです。
たとえば、達成したいことは次のとおりです。

Hello world! 09/25/2014 11:39:56
'(this will appear as is)'
!

方法は次のとおりです。

@"
Hello world! $(Get-Date)
'(this will appear as is)'
!
"@

または変数付き:

$myDate = Get-Date
@"
Hello world! ${myDate}
'(this will appear as is)'
!
"@
13
yantaq

この投稿は役に立ちました。SQLクエリのPowerShellhere-string内で変数を展開する方法を探してここにたどり着きました。

次のコードスニップはサーバーのリストを取得し、Foreach-Objectでループして、クエリごとにサーバー名を置き換えることができるようにします。

ハッシュテーブルヘルプ を提供してくれた@Mattに感謝します。

$servers = Get-Content c:\scripts\list.txt

$servers | ForEach-Object{
 $items = @{}
 $items.Server = $_

$query = @"
 WHERE svrName = $($items.Server)
"@
}
1
user4317867