我有一个 PowerShell 脚本,它读取非常大的 XML 文件并提取代表嵌入式 C# 代码的某些元素的文本值。然后,该脚本将元素文本保存到与 XML 文件结构匹配的目录结构中的 .cs 代码文件中。出于性能考虑,我使用 XmlReader,因为文件太大(有时 > 200 MB)。
原始 XML 文件具有 Windows 行结尾 (CRLF),但 .NET Framework XmlReader 类在从文件中读取时将行结尾从 CRLF“规范化”为仅 LF(符合 XML 规范)。
我的问题是:如何强制 PowerShell 在将文件写出到磁盘时将行结尾恢复为 Windows 标准,这样我就不会因为行结尾的变化而得到源代码控制“噪音”?
我目前正在使用以下 PowerShell 语句编写文件:New-Item -Path $path -Force -ItemType file -Value $reader.ReadElementString()
该$reader
变量是 的一个实例[System.Xml.XmlReader]
。