我正在研究修改配置文件的powershell脚本。我有这样的文件:
#####################################################
# comment about logentrytimeout
#####################################################
Logentrytimeout= 1800
谁应该看起来像这样:
#####################################################
# comment about logentrytimeout
#####################################################
Logentrytimeout= 180
disablepostprocessing = 1
segmentstarttimeout = 180
如果有键集(Logentrytimeout),只需将其更新为给定值。忽略注释,其中提到了键(以 # 开头的行)。密钥不区分大小写。
如果未设置键(禁用后处理和段启动超时),则将键和值附加到文件中。到目前为止,我的功能是这样的:
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 附加到文件中?