При поиске с поиском, 0 - это возвращаемое значение, когда найдено, 1 - это возвращаемое значение, когда не найдено.
Вы можете проверить это с помощью echo %errorlevel%
после команды find.
Кроме того, if ... then
не является синтаксисом cmd (возможно, 4nt?).
Итак, можно написать:
sc query "OracleServiceXE" | find /i "RUNNING"
IF ERRORLEVEL 1 GOTO stopped
IF ERRORLEVEL 0 GOTO running
Обратите внимание, что порядок IF ERRORLEVEL
важен, так как IF ERRORLEVEL n
означает IF ERRORLEVEL >= n
.