powershell - 在 PowerShell 中将新行写入文本文件

标签 powershell text newline

我正在创建一个错误日志文件。这是我当前的代码:

Add-Content -path $logpath $((get-date).tostring() + " Error " + $keyPath `
   + $value + " key " + $key +" expected: " + $policyValue `
   + "`n local value is: " +$localValue

当我Get-Content在日志文件上,它正确显示,在“本地值”之前有一个新行。

但是,当我在记事本中打开日志文件时,它会在一行中显示所有内容。我怎样才能让它在文本文件中插入一个新行?

最佳答案

`n是换行符。记事本( prior to Windows 10 )期望换行符被编码为 `r`n (回车+换行,CR-LF)。在一些有用的编辑器( SciTENotepad++UltraEdit-32Vim 、...)中打开文件并将换行符转换为 CR-LF。或者使用 PowerShell:

(Get-Content $logpath | Out-String) -replace "`n", "`r`n" | Out-File $logpath

关于powershell - 在 PowerShell 中将新行写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17434151/

相关文章:

java - 在 Java 中编写跨不同操作系统的换行符

powershell - Powershell中出现错误时如何获取错误代码?

powershell - 运行powershell脚本时 '>>'是什么?

C - 如何在不篡改输出文本中现有行的情况下编写新行?

c# - 来自不同文件类型的文本提取库,PDF、DOC、DOCX、TXT c#

java - 在单独的行中显示每个列表元素(控制台)

c# - 在设计时将换行符添加到标签的文本

powershell - 我如何从TeamCity构建中运行的Powershell脚本收到有意义的错误消息?

PowerShell Start-Process 未设置 $lastexitcode

r - fread - 字符串中的多个分隔符