You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell如何查找指定字符串并在其后方追加对应内容

完全可以实现,你不需要替换整行,用-replace的正则捕获组功能就能精准在dbpassword=的等于号后追加内容,不会改动文件其他行、也不会修改目标行的其他内容。

实现代码(直接修改原文件)

# 请替换下方文件路径为你的实际配置文件路径
(Get-Content -Path "./db.conf" -Raw) -replace '(dbpassword=)', '${1}password' | Set-Content -Path "./db.conf" -Encoding UTF8

逻辑说明

  • 正则表达式里的()会把匹配到的dbpassword=内容捕获为第1个分组
  • 替换时${1}是直接引用刚才捕获的原内容,后面拼接你要追加的password,仅在等于号后方新增内容,无其他改动
  • 增加-Raw参数是为了一次性读取文件全部内容,处理效率更高

测试方法(不修改原文件,仅输出处理后内容校验)

(Get-Content -Path "./db.conf" -Raw) -replace '(dbpassword=)', '${1}password'

逐行处理方案(适合仅需修改第一个匹配行的场景)

如果你文件中可能存在多个dbpassword=行,只想修改第一个完全匹配dbpassword=的行,可以用逐行处理的写法:

$content = Get-Content -Path "./db.conf"
$modified = $false
$newContent = $content | ForEach-Object {
    if (!$modified -and $_ -eq 'dbpassword=') {
        $_ + 'password'
        $modified = $true
    } else {
        $_
    }
}
$newContent | Set-Content -Path "./db.conf" -Encoding UTF8

内容的提问来源于stack exchange,提问作者Steven Yong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 10:57:01