de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 NewPowerSheller
NewPowerSheller
Question

Menulis baris baru ke file teks di PowerShell

Saya membuat file log kesalahan. Ini adalah kode saya saat ini:

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

Ketika saya Get-Content pada file log, file tersebut ditampilkan dengan benar, dengan baris baru sebelum "local value."

Namun, ketika saya membuka file log di Notepad, file tersebut menampilkan semuanya dalam satu baris. Bagaimana saya bisa membuatnya memasukkan baris baru ke dalam file teks juga?

33 2013-07-02T19:26:10+00:00 3
Peter Mortensen
Peter Mortensen
Pertanyaan edit 29 Mei 2017 в 5:23
Pemrograman
powershell
text
newline
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Solution / Answer
Ansgar Wiechers
Ansgar Wiechers
2 Juli 2013 в 7:39
2013-07-02T19:39:20+00:00
Lebih
Sumber
Sunting
#19813933

`n adalah karakter line feed. Notepad (sebelum Windows 10) mengharapkan linebreak dikodekan sebagai `r`n (carriage return + line feed, CR-LF). Buka berkas di beberapa editor yang berguna (SciTE, Notepad++, UltraEdit-32, Vim, ...) dan konversikan linebreak ke CR-LF. Atau gunakan PowerShell:

(Get-Content $logpath | Out-String) -replace "`n", "`r`n" | Out-File $logpath
Ansgar Wiechers
Ansgar Wiechers
Jawaban edit 6 November 2018 в 11:00
46
0
Aaron Jensen
Aaron Jensen
2 Juli 2013 в 8:34
2013-07-02T20:34:34+00:00
Lebih
Sumber
Sunting
#19813934

Anda dapat menggunakan properti NewLine statis Environment class's static NewLine property untuk mendapatkan baris baru yang tepat:

$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
19
0
 rchacko
rchacko
28 Januari 2015 в 5:04
2015-01-28T05:04:07+00:00
Lebih
Sumber
Sunting
#19813935

Dimungkinkan juga untuk menetapkan newline dan carriage return ke variabel dan kemudian menambahkannya ke teks di dalam skrip PowerShell:

$OFS = "`r`n"
$msg = "This is First Line" + $OFS + "This is Second Line" + $OFS
Write-Host $msg
Peter Mortensen
Peter Mortensen
Jawaban edit 29 Mei 2017 в 5:24
14
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Виталий Теслюк
Terdaftar 6 jam yang lalu
2
shokir qochqorov
Terdaftar 9 jam yang lalu
3
Roxana Elizabeth CASTILLO Avalos
Terdaftar 1 minggu yang lalu
4
Hideo Nakagawa
Terdaftar 1 minggu yang lalu
5
Sergiy Tytarenko
Terdaftar 1 minggu yang lalu
ID
JA
KO
RU
TR
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi