In admin CMD window
wmic /output:C:\list.txt product get name, version
Then go to C:\ and you'll see the file list.txt with all your installed softwares.
Powershell
# Get the current user's Documents folder path
$documentsPath = [Environment]::GetFolderPath("MyDocuments")
$outputFile = Join-Path -Path $documentsPath -ChildPath "InstalledPrograms.txt"
# Collect installed programs from registry
$installedPrograms = Get-ItemProperty -Path `
HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*, `
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*, `
HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
Where-Object { $_.DisplayName } | # Filter out entries without a DisplayName
Sort-Object DisplayName
# Output to file in table format
$installedPrograms | Format-Table -AutoSize | Out-File -FilePath $outputFile -Encoding UTF8
# Notify user
Write-Host "Installed programs list saved to: $outputFile"
or the easiest
In PowerShell as admin
# Get the list of installed programs from the registry
$installedPrograms = Get-WmiObject -Class Win32_Product | Select-Object Name, Version
# Define the file path to save the list in the user's Documents folder
$userDocumentsPath = [Environment]::GetFolderPath('MyDocuments')
$outputFile = "$userDocumentsPath\InstalledProgramsList.txt"
# Save the list to the output file
$installedPrograms | ForEach-Object {
"$($_.Name) - $($_.Version)"
} | Out-File -FilePath $outputFile
Write-Host "Installed programs list has been saved to: $outputFile"
#The output file will be saved in your Documents folder labeled ( InstalledProgramsList.txt ) and will list the installed programs with their names and versions.