I need to receive a string with processes whose name is equal to "MSSQLSERVER" or starts with "MSSQL$". The names should be separated by forward slashes (/). I am trying to do it with such script:
@echo off
set mssqlDependenties=
set defaultSqlServerServiceName="MSSQLSERVER"
set namedSqlServerServiceNameBeginning="MSSQL$"
setlocal enabledelayedexpansion
for /f "tokens=2" %%s in ('sc query state^= all ^| find "SERVICE_NAME: MSSQL"') do (
set serviceName=%%s
if "%%s" equ %defaultSqlServerServiceName% (
set mssqlDependenties=!mssqlDependenties!/%%s
)
if "%serviceName:~0,7%" equ %namedSqlServerServiceNameBeginning% (
set mssqlDependenties=!mssqlDependenties!/%%s
)
)
echo %mssqlDependenties%
But I receive an error:
The syntax of the command is incorrect.
mssqlDependenties should contain MSSQLSERVER/MSSQL$1/MSSQL$2/MSSQL$3, etc.