Writing new lines to a text file in PowerShell Writing new lines to a text file in PowerShell powershell powershell

Writing new lines to a text file in PowerShell


`n is a line feed character. Notepad (prior to Windows 10) expects linebreaks to be encoded as `r`n (carriage return + line feed, CR-LF). Open the file in some useful editor (SciTE, Notepad++, UltraEdit-32, Vim, ...) and convert the linebreaks to CR-LF. Or use PowerShell:

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


You can use the Environment class's static NewLine property to get the proper newline:

$errorMsg =  "{0} Error {1}{2} key {3} expected: {4}{5} local value is: {6}" -f `               (Get-Date),$keyPath,$value,$key,$policyValue,([Environment]::NewLine),$localValueAdd-Content -Path $logpath $errorMsg


It's also possible to assign newline and carriage return to variables and then append them to texts inside PowerShell scripts:

$OFS = "`r`n"$msg = "This is First Line" + $OFS + "This is Second Line" + $OFSWrite-Host $msg