我正在创建一个错误日志文件。这是我当前的代码:
Add-Content -path $logpath $((get-date).tostring() + " Error " + $keyPath `
+ $value + " key " + $key +" expected: " + $policyValue `
+ "`n local value is: " +$localValue
当i Get-Content
在日志文件上时,它正确显示,在"本地值"前有新行。
但是,当我在记事本中打开日志文件时,它只在一行中显示所有内容。如何使它也在文本文件中插入新行?
6条答案
按热度按时间kmbjn2e31#
n`是换行符。记事本([prior to Windows 10](https://blogs.msdn.microsoft.com/commandline/2018/05/08/extended-eol-in-notepad/))要求换行符编码为
rn
(回车+换行符,CR-LF)。在某个有用的编辑器(SciTE、Notepad++、UltraEdit-32、Vim. a.)中打开该文件,然后将换行符转换为CR-LF。或者使用PowerShell:fkaflof62#
您可以使用Environment class's static NewLine property来取得适当的换行:
lyfkaqu13#
也可以将换行符和回车符赋给变量,然后将它们追加到PowerShell脚本内的文本中:
iaqfqrcu4#
试试这个;
ftf50wuq5#
使用管道命令时,值不起作用。我创建了一个附加的Add-Content,其-Value为空,“”后跟原始的Get|补充一句,我是想用。
332nm8kg6#