Я запускаю следующий код, используя PowerShell, чтобы получить список программ для добавления/удаления из реестра:
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object -Process { Write-Output $_.GetValue("DisplayName") } `
| Out-File addrem.txt
Я хочу, чтобы список был разделен символами новой строки для каждой программы. Я пробовал:
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object -Process { Write-Output $_.GetValue("DisplayName") `n } `
| out-file test.txt
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object {$_.GetValue("DisplayName") } `
| Write-Host -Separator `n
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object -Process { $_.GetValue("DisplayName") } `
| foreach($_) { echo $_ `n }
Но все приводят к странному форматированию при выводе на консоль и с тремя квадратными символами после каждой строки при выводе в файл. Я пробовал Format-List
, Format-Table
и Format-Wide
без везения. Первоначально я думал, что что-то вроде этого будет работать:
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object -Process { "$_.GetValue("DisplayName") `n" }
Но это только что дало мне ошибку.