私は実際の変数値で置き換えたい可変プレースホルダを作成したPowerShellテンプレートシステムを作成しています。 例:<%$myvar%>
は$myvar
の値に置き換えてください。
値が$true
または$false
の場合、これをファイルに出力する方法を見つけるのが苦労しています。 回避策として、$true
を1で置き換え、$false
を0で置き換えますが、文字通り出力できるかどうかは疑問です。ここで
は、私のコードの一部です:
Get-Content myfile.ps1 | %{
if ($_ -match '<%(.*)%>') { #replace variable placeholder with actual value
$tag = $Matches[0]
Write-Verbose "found variable placeholder: $tag"
$variablename = $matches[1] -replace '^\$','' #remove $ char so we can use it in Get-Variable
Write-Verbose "variablename: $variablename"
[string]$newvalue = Get-Variable $variablename |
select -ExpandProperty value
if ($newvalue.ToLower() -eq "true") {
$newvalue = 1
}
if ($newvalue.ToLower() -eq "false") {
$newvalue = 0
}
Write-Verbose "new-value: $newvalue"
$newline = $_ -replace [Regex]::Escape($tag), $newvalue
$newline | Out-File newfile.ps1 -Append
}
はNB:あなたが興味を持っている場合あなたがmy profileで、このプロジェクトのリンクを見つけることができます。あなたの現在のアプローチと
いただきました!「'$真」と間違っていますか? – 4c74356b41
これはちょうどコードを破る... –
文字列はどのようにコードを壊すことができますか? rofl – 4c74356b41