用 Get-Content -Raw 把整个文件读成一个字符串

不加 -Raw 时 Get-Content 按行拆成数组——这是跨行正则和精确比较失败的常见原因。

Windows文件脚本PowerShell低风险
给 Get-Content 加 -Raw 参数,即可将文件读成保留换行符的单个字符串。

01命令

命令
$ $html = Get-Content 'C:\Temp\page.html' -Raw

02作用说明

默认 Get-Content 每行输出一个字符串对象,存进变量得到的是数组;用 (Get-Content $f) -replace 'a','b' 回写还会改变换行符。-Raw 返回保留原始换行的单个字符串,是跨行正则匹配和逐字节比较所必需的。另一个常被遗忘的参数是 -Delimiter,例如 -Delimiter ';' 读取分号分隔文件。

03风险

风险低风险
使用条件PowerShell
!注意: 对几 GB 的大文件使用 -Raw 会把整个文件读入内存;大文件建议流式读取或使用 .NET 的 StreamReader。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • Get-Content | Microsoft Learn
    Microsoft · vendor-doc · 2026-09-17
    依据: Microsoft documents the -Raw switch, which ignores line breaks and returns the file content as a single string.
  • Get-Content - PowerShell
    SS64 · technical · 2026-09-17
    依据: SS64 explains -Raw returns one string preserving newline characters, versus the default line-by-line array.

最后验证: 2026-09-17 · 分类: 文件与文件夹

06相关方案