125 lines
3.7 KiB
Batchfile
125 lines
3.7 KiB
Batchfile
@echo off
|
|
REM === Installed Software List ===
|
|
echo ========================================
|
|
echo Installed Software List
|
|
echo ========================================
|
|
echo.
|
|
echo This script will list all installed software on your system.
|
|
echo.
|
|
echo [1] Display in console
|
|
echo [2] Export to text file
|
|
echo [3] Export to CSV file
|
|
echo.
|
|
set /p CHOICE="Select option (1-3): "
|
|
|
|
if "%CHOICE%"=="1" goto DISPLAY
|
|
if "%CHOICE%"=="2" goto EXPORT_TXT
|
|
if "%CHOICE%"=="3" goto EXPORT_CSV
|
|
goto INVALID
|
|
|
|
:DISPLAY
|
|
cls
|
|
echo ========================================
|
|
echo Installed Software
|
|
echo ========================================
|
|
echo.
|
|
echo Gathering software information...
|
|
echo This may take a moment...
|
|
echo.
|
|
echo ========================================
|
|
echo.
|
|
|
|
REM Get installed software from registry (64-bit)
|
|
echo === 64-bit Applications ===
|
|
echo.
|
|
wmic product get name,version 2>nul
|
|
|
|
echo.
|
|
echo ========================================
|
|
echo.
|
|
echo === All Installed Programs (Registry) ===
|
|
echo.
|
|
|
|
REM Alternative method using PowerShell for more complete list
|
|
powershell -Command "Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.DisplayName } | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Sort-Object DisplayName | Format-Table -AutoSize"
|
|
|
|
echo.
|
|
echo ========================================
|
|
pause
|
|
goto END
|
|
|
|
:EXPORT_TXT
|
|
cls
|
|
echo ========================================
|
|
echo Export to Text File
|
|
echo ========================================
|
|
echo.
|
|
|
|
set FILENAME=InstalledSoftware_%date:~-4,4%%date:~-7,2%%date:~-10,2%_%time:~0,2%%time:~3,2%.txt
|
|
set FILENAME=%FILENAME: =0%
|
|
|
|
echo Generating report and saving to: %FILENAME%
|
|
echo.
|
|
|
|
(
|
|
echo ========================================
|
|
echo INSTALLED SOFTWARE REPORT
|
|
echo Generated: %date% %time%
|
|
echo Computer: %COMPUTERNAME%
|
|
echo User: %USERNAME%
|
|
echo ========================================
|
|
echo.
|
|
echo.
|
|
echo === Windows Installer Products ===
|
|
echo.
|
|
wmic product get name,version 2>nul
|
|
echo.
|
|
echo.
|
|
echo ========================================
|
|
echo === All Installed Programs ===
|
|
echo ========================================
|
|
echo.
|
|
powershell -Command "Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.DisplayName } | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Sort-Object DisplayName | Format-Table -AutoSize"
|
|
) > %FILENAME%
|
|
|
|
echo.
|
|
echo Report saved successfully to: %FILENAME%
|
|
echo Location: %CD%\%FILENAME%
|
|
echo.
|
|
pause
|
|
goto END
|
|
|
|
:EXPORT_CSV
|
|
cls
|
|
echo ========================================
|
|
echo Export to CSV File
|
|
echo ========================================
|
|
echo.
|
|
|
|
set FILENAME=InstalledSoftware_%date:~-4,4%%date:~-7,2%%date:~-10,2%_%time:~0,2%%time:~3,2%.csv
|
|
set FILENAME=%FILENAME: =0%
|
|
|
|
echo Generating CSV report and saving to: %FILENAME%
|
|
echo.
|
|
|
|
powershell -Command "Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.DisplayName } | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Sort-Object DisplayName | Export-Csv -Path '%FILENAME%' -NoTypeInformation -Encoding UTF8"
|
|
|
|
echo.
|
|
echo CSV report saved successfully to: %FILENAME%
|
|
echo Location: %CD%\%FILENAME%
|
|
echo.
|
|
echo You can open this file with Excel or any spreadsheet application.
|
|
echo.
|
|
pause
|
|
goto END
|
|
|
|
:INVALID
|
|
echo.
|
|
echo ERROR: Invalid selection! Please choose 1, 2, or 3.
|
|
pause
|
|
goto END
|
|
|
|
:END
|
|
echo.
|
|
echo ========================================
|
|
echo. |