मैं 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" }
लेकिन उसने मुझे एक त्रुटि दी।
PS> $nl = [Environment]::NewLine
PS> gci hklm:\software\microsoft\windows\currentversion\uninstall |
ForEach { $_.GetValue("DisplayName") } | Where {$_} | Sort |
Foreach {"$_$nl"} | Out-File addrem.txt -Enc ascii
यह मेरी addrem.txt फ़ाइल में निम्न पाठ पैदावार:
Adobe AIR
Adobe Flash Player 10 ActiveX
...
नोट:
यह वास्तव में काम किया। लेकिन, यदि कोई अन्य मान जोड़ा जाता है, यानी $ _। GetValue ('InstallDate'), तो यह गड़बड़ हो जाता है। यह मूल प्रश्न को पूरा करता है हालांकि सहायता के लिए धन्यवाद। – mike
मैंने नीचे एक वैकल्पिक उत्तर जोड़ा जो मुझे लगता है कि शायद बेहतर है :) – Jaykul
अच्छा काम करता है। 'और नहीं' का उपयोग करने के लिए सावधान रहें। मेरे कीबोर्ड पर (यूएस-अंग्रेज़ी क्वर्टी लेआउट) यह 1. –