ho eseguito il seguente codice usando PowerShell per ottenere una lista di add/rimuovere i programmi dal Registro di sistema:Come si aggiunge una nuova riga all'output del comando in PowerShell?
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object -Process { Write-Output $_.GetValue("DisplayName") } `
| Out-File addrem.txt
voglio l'elenco per essere separata da ritorni a capo per ogni programma. Ho provato:
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 }
Ma tutto risultato nella formattazione strano quando l'uscita per la console, e con tre caratteri quadrati dopo ogni riga quando output in un file. Ho provato Format-List
, Format-Table
e Format-Wide
senza fortuna. Inizialmente, pensavo che qualcosa del genere avrebbe funzionato:
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object -Process { "$_.GetValue("DisplayName") `n" }
Ma questo mi ha dato solo un errore.
Questo ha funzionato davvero. Ma, se vengono aggiunti altri valori, ad esempio $ _. GetValue ('InstallDate'), allora si incasina. Risponde comunque alla domanda originale, quindi grazie per l'aiuto. – mike
Ho aggiunto una risposta alternativa sotto la quale penso sia probabilmente meglio :) – Jaykul
Funziona alla grande. Attenzione a usare 'e non il '. Sulla mia tastiera (layout Qwerty USA-Inglese) si trova a sinistra del 1. –