我正在寫一個PowerShell模板系統,我爲其創建了一個我想用實際變量值替換的變量佔位符。 例如<%$myvar%>
應替換爲$myvar
值。
我正在努力找到一種方法來輸出此文件時,值爲$true
或$false
。 作爲解決方法,我用0代替$true
,1代替$false
,但我想知道是否可以從字面輸出它們。
這裏是我的代碼的一部分:
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
}
注意:如果你有興趣,你可以找到在my profile這個項目的鏈接。
什麼錯「'$真」? – 4c74356b41
這只是打破了代碼... –
一個字符串如何破壞代碼? rofl – 4c74356b41