私は設定ファイルを変更するpowershellスクリプトで作業しています。キーセット(Logentrytimeout)、ただ与えられた値に更新があった場合Powershellはテキストファイルの行を置換または追加する機能を持っています
#####################################################
# comment about logentrytimeout
#####################################################
Logentrytimeout= 180
disablepostprocessing = 1
segmentstarttimeout = 180
:次のようになります。
#####################################################
# comment about logentrytimeout
#####################################################
Logentrytimeout= 1800
:私はこのようなファイルを持っています。キーが記述されているコメント(#で始まる行)は無視してください。キーは大文字と小文字を区別しません。
キーが設定されていない(disablepostprocessingおよびsegmentstarttimeout)場合は、キーと値をファイルに追加します。 My機能は、これまでのところ、このように書きます:
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をファイルに追加するにはどうしたらいいですか?