Listing 1: QueryInstalledSoftware.cmd @Echo Off Setlocal If #%1#==## Goto :syntax :: BEGIN CALLOUT A Set targetcomp=%1 Nbtstat -a %targetcomp% | Find /I "Host not found" > NUL If %ERRORLEVEL% EQU 0 Echo %targetcomp% is unavailable at this time & Goto :EOF :: END CALLOUT A Echo. Echo Installed Software for %targetcomp% Echo --------------------------------------------------------------- :: BEGIN CALLOUT B For /f "tokens=1,2,*" %%i in ('Reg Query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall /S \\%targetcomp% ^| Find /I "DisplayName" ^| Find /V /I "Quiet"') Do Call :getappname "%%k" :: END CALLOUT B Endlocal Goto :EOF :: BEGIN CALLOUT C :getappname Set keyname=%1 If %keyname%=="" goto :EOF Echo %keyname:"=% Goto :EOF :: END CALLOUT C :end :syntax Echo. Echo Syntax : queryinstalledsoftware ^ Echo. Echo Example: queryinstalledsoftware wkstn01 Echo.