I have scripted SvcDnSnRpt.bat to return the service display name and service short name, sorted by service display name.

The syntax for using SvcDnSnRpt.bat is:

for /f "Tokens=1* Delims=," %%s in ('SvcDnSnRpt') do (
 call :DoSomething %%s %%t
)

Example:

To create a .CSV file, you might script the following:
@echo off
setlocal
if exist FileName.csv del /q FileName.csv
for /f "Tokens=1* Delims=," %%s in ('SvcDnSnRpt') do (
 call :DoSomething %%s %%t
)
endlocal
goto :EOF
:DoSomething
@echo %1,%2>>FileName.csv
The first few records in FileName.csv might contain:
"Alerter","Alerter"
"Application Layer Gateway Service","ALG"
"Application Management","AppMgmt"
"ASF Agent","ASFAgent"
"ASP.NET State Service","aspnet_state"
"Automatic Updates","wuauserv"
"Background Intelligent Transfer Service","BITS"
"CA License Client","CA_LIC_CLNT"
"CA License Server","CA_LIC_SRVR"
"ClipBook","ClipSrv"
"COM+ Event System","EventSystem"
"COM+ System Application","COMSysApp"
"Computer Browser","Browser"
NOTE: The service short name is the registry sub-key at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.

SvcDnSnRpt.bat contains:

@echo off
setlocal
set wrk=%TEMP%\SvcDnSnRpt_%RANDOM%
set vbs="%wrk%.VBS"
set si="%wrk%_SI.TMP"
set so="%wrk%_SO.TMP"
set wrk=                                             #
set wrk=%wrk:~0,40%
set blank=%wrk%%wrk%
@echo Dim strServerName, oServiceSet, oWshNetwork>%vbs%
@echo strServerName = "LocalHost">>%vbs%
<font size="1">@echo Set oServiceSet = GetObject("winmgmts:\{impersonationLevel=impersonate\}!//" ^& strServerName ^& "/root/cimv2").InstancesOf("Win32_Service")>>%vbs%</font>
@echo Set oWshNetwork = WScript.CreateObject("WScript.Network")>>%vbs%
@echo Set oWshNetwork = Nothing>>%vbs%
@echo For each Service in oServiceSet>>%vbs%
@echo   WScript.Echo Service.DisplayName ^& "," ^& Service.Name>>%vbs%
@echo Next>>%vbs%
@echo Set oServiceSet = Nothing>>%vbs%
for /f "Tokens=1* Delims=," %%a in ('cscript.exe //NOLOGO %vbs%') do (
 set dn=%%a
 set sn=%%b
 call :sortin
)
sort %si% /O %so%
del /q %vbs%
del /q %si%
for /f "Tokens=2,3 Delims=," %%a in ('type %so%') do (
 @echo "%%a","%%b"
)
del /q %so%
endlocal
goto :EOF
:sortin
set wrk=%dn%%blank%
set sf=%wrk:~0,80%
@echo %sf%,%dn%,%sn%>>%si%