2017-07-11 42 views
0

我試圖寫一個文件的結果文件:寫入使用PowerShell不工作

$installedPrograms = Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate 

而且它不會在所有的工作。我已經嘗試使用:

$installedPrograms >> "installedProgram.txt" 

$installedPrograms | Out-File "installedPrograms.txt" 

$stream = [System.IO.StreamWriter] "installedPrograms.txt" 
1..10000|% 
{ 
    $stream.WriteLine($installedPrograms) 
} 
$stream.Close(); 

以上都不是工作...

+1

那麼,*發生了什麼?您是否嘗試將'$ installedPrograms'打印到控制檯?它看起來正確嗎? –

+0

打印到控制檯工作正常,只是沒有txtfile。我認爲這可能是因爲字符串中的選項卡而不是空格。 – Narkael

+0

'$ installedPrograms | Out-String | Out-File installedPrograms.txt',但我建議導出爲csv文件,如[Itchydon的答案顯示](https://stackoverflow.com/a/45037056/712649) –

回答

0

在CSV可能會更好

$installedPrograms = Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate 
$installedPrograms | export-csv installedPrograms.csv -notypeinformation 
+0

謝謝,它在CSV文件中工作!但出於某種原因,執行'if($ installedPrograms.Contains(「NameOfTheProgram」)){do something} else {dosomething else}'不起作用。但我知道它包含程序的名稱... – Narkael

+0

嘗試'if($ installedPrograms -match「NameOfTheProgram」){dosomething}' – Itchydon

+0

@Narkael - 請接受答案,如果它爲你工作 – Itchydon