Bir hata kaydı dosyası oluşturuyorum. Bu benim mevcut kodum:
Add-Content -path $logpath $((get-date).tostring() + " Error " + $keyPath `
+ $value + " key " + $key +" expected: " + $policyValue `
+ "`n local value is: " +$localValue
Günlük dosyasında Get-Content
yaptığımda, "local value."'dan önceki yeni satırla birlikte doğru şekilde görüntüleniyor;
Ancak, günlük dosyasını Not Defteri'nde açtığımda, her şeyi tek bir satırda gösteriyor. Metin dosyasına da yeni bir satır eklemesini nasıl sağlayabilirim?
`n
bir satır besleme karakteridir. Notepad (Windows 10'dan önce) satır sonlarının `r`n
(satır başı + satır besleme, CR-LF) olarak kodlanmasını bekler. Dosyayı kullanışlı bir düzenleyicide açın (SciTE, Notepad++, UltraEdit-32, Vim, ...) ve satır sonlarını CR-LF'ye dönüştürün. Ya da PowerShell kullanın:
(Get-Content $logpath | Out-String) -replace "`n", "`r`n" | Out-File $logpath
Uygun satırsonunu elde etmek için Environment class's static NewLine property kullanabilirsiniz:
$errorMsg = "{0} Error {1}{2} key {3} expected: {4}{5} local value is: {6}" -f `
(Get-Date),$keyPath,$value,$key,$policyValue,([Environment]::NewLine),$localValue
Add-Content -Path $logpath $errorMsg
Değişkenlere satırsonu ve satırbaşı atamak ve ardından bunları PowerShell komut dosyaları içindeki metinlere eklemek de mümkündür:
$OFS = "`r`n"
$msg = "This is First Line" + $OFS + "This is Second Line" + $OFS
Write-Host $msg