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

PowerShell替换文本文件中{ }失败,寻求解决方案

解决PowerShell替换文本文件中跨行{ }的问题

嘿,我来帮你搞定这个问题!你之前的命令没成功主要有两个原因:一是Get-Content默认会把文件按行拆成数组,没法匹配跨行的{和};二是正则表达式没正确处理换行和空白,还有命令行里的引号转义也可能出问题。

给你几个可行的解决方案:

方案1:在PowerShell控制台直接运行

# 先读取整个文件为单个字符串,再替换,最后写回文件
(Get-Content file.txt -Raw) -replace '\{\s*\}', 'mytext' | Set-Content file.txt

这里的关键细节:

  • -Raw 参数:让Get-Content把整个文件内容当成一个完整字符串读取,而不是分成一行行的数组,这样才能匹配跨行的{和}。
  • 正则表达式 '\{\s*\}':
    • \{ 和 \} 是转义后的字面量大括号(因为大括号在正则里是特殊字符)
    • \s* 匹配任意数量的空白字符(包括换行、空格、制表符),不管{和}之间是换行还是空格都能匹配上。

方案2:在CMD中调用PowerShell执行

如果是在CMD窗口里运行,需要调整引号的写法:

powershell -Command "(Get-Content file.txt -Raw) -replace '\{\s*\}', 'mytext' | Set-Content file.txt"

额外提醒

替换前最好先备份一下file.txt,避免操作失误导致内容丢失哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:45:25