構成ファイルを変更するpowershellスクリプトに取り組んでいます。次のようなファイルがあります。
#####################################################
# comment about logentrytimeout
#####################################################
Logentrytimeout= 1800
次のようになります。
#####################################################
# comment about logentrytimeout
#####################################################
Logentrytimeout= 180
disablepostprocessing = 1
segmentstarttimeout = 180
キー セット (Logentrytimeout) がある場合は、指定された値に更新するだけです。キーが言及されているコメント (# で始まる行) は無視します。キーは大文字と小文字を区別しません。
キーが設定されていない場合 (disablepostprocessing および segmentstarttimeout)、キーと値をファイルに追加します。これまでの私の機能は次のようになります。
function setConfig( $file, $key, $value )
{
(Get-Content $file) |
Foreach-Object {$_ -replace "^"+$key+".=.+$", $key + " = " + $value } |
Set-Content $file
}
setConfig divider.conf "Logentrytimeout" "180"
setConfig divider.conf "disablepostprocessing" "1"
setConfig divider.conf "segmentstarttimeout" "180"
- 正しい正規表現は何ですか?
- 交換品があったかどうかを確認するにはどうすればよいですか?
- 置換がなかった場合: どうすれば $key+" = "+$value をファイルに追加できますか?