写入使用PowerShell不工作

问题描述:

我试图写一个文件的结果文件:写入使用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://*.com/a/45037056/712649) –

在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