我使用PowerShell来获取附加列表/从注册表中删除的程序运行下面的代码:如何在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" }
但是,这只是给了我一个错误。
这实际上工作。但是,如果添加了任何其他值,即$ _。GetValue('InstallDate'),那么它会混乱。尽管如此感谢您的帮助,但它完成了原来的问题。 – mike 2009-10-29 12:53:48
我在下面添加了一个替代答案,我认为它可能更好:) – Jaykul 2009-10-29 13:24:45
工程很棒。谨防使用'而不是'。在我的键盘上(US-English Qwerty布局),它位于1. – 2010-07-09 11:41:56