The data for the subject report is located in the registry at:


The short name is the registry key, the Start and Type value names are explained in tip 0324 » Registry entries for services, and we discussed DisplayName in tip 3444 » How do I find the short name of a service.

Your report would look similar to:

CmBatt                    3 001 Microsoft ACPI Control Method Battery Driver
cmosa                     1 001 cmosa
Compbatt                  0 001 Microsoft Composite Battery Driver
dmio                      0 001 Logical Disk Manager Driver
Eventlog                  2 020 Event Log
EventSystem               3 020 COM+ Event System
Fastfat                   4 002 Fastfat
UndeleteService           2 110 Executive Software Undelete
Update                    3 001 Microcode Update Driver
UPS                       3 010 Uninterruptible Power Supply
usbhub                    3 001 Microsoft USB Standard Hub Driver
UtilMan                   3 110 Utility Manager
VgaSave                   1 001 VgaSave
W32Time                   2 020 Windows Time
W3SVC                     2 120 World Wide Web Publishing Service
Wanarp                    3 001 Remote Access IP ARP Driver
wdmaud                    3 001 Microsoft WINMM WDM Audio Compatibility Driver
WinMgmt                   2 010 Windows Management Instrumentation
Winsock                   3 004 Winsock
WMDM PMSP Service         2 010 WMDM PMSP Service
Wmi                       3 020 Windows Management Instrumentation Driver Extensions
SvcDrv.bat requires no paramaters, and contains:
@echo off
set file1="%TEMP%\ParseReg.reg"
set file2="%TEMP%\ParseReg.tmp"
set reg="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services"
regedit.exe /a %file1% %reg%
findstr /L "\[HKEY_ DisplayName Start Type" %file1% > %file2%
set svc=N
set dsp=   #
set dsp=%dsp:~0,1%
set startp=   #
set startp=%startp:~0,1%
set typp=      #
set typp=%typp:~0,3%
for /f "Tokens=*" %%i in ('type %file2%') do set line=%%i&call :parseq
if "%startp%" EQU " " goto last
if "%svc%" NEQ "N" @echo %svc% %startp% %typp% %dsp%
del /q %file1%
del /q %file2%
goto end
set line=%line:"=%
if /i "%line:~0,6%" EQU "\[HKEY_" goto fs
if "%svc%" EQU "N" goto end
if /i "%line:~0,6%" EQU "Start=" goto strt
if /i "%line:~0,5%" EQU "Type=" goto typ
if /i "%line:~0,12%" EQU "DisplayName=" goto dn
if /i "%line:~0,6%" EQU "\[HKEY_" goto fs
goto end
set wrk=%line:~11,1%
if not "%wrk:~0,1%" EQU "=" goto end
set dsp=%line:~12,99%
goto end
if /i "%line:~6,6%" NEQ "dword:" goto end
set startp=%line:~19,1%
goto end
if /i "%line:~5,6%" NEQ "dword:" goto end
set typp=%line:~16,3%
goto end
set wrk=%line:\[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\=%
set wrk=%wrk:\]=%
set new=%wrk:\=%
if "%startp%" EQU " " goto nxt
if "%svc%" NEQ "N" @echo %svc% %startp% %typp% %dsp%
set svc=N
set dsp=   #
set dsp=%dsp:~0,1%
set startp=   #
set startp=%startp:~0,1%
set typp=      #
set typp=%typp:~0,3%
if "%new%" NEQ "%wrk%" goto end
set wrk=%wrk%                                 #
set svc=%wrk:~0,25%
set dsp=%svc%
NOTE: The report is displayed in a CMD window. If you want hard copy, pipe it to a .TXT file or simply run it like SvcDrv > \Folder\SvcDrv.TXT.