O Stackoverflow tem um excelente exemplo sobre como detectar se um serviço está sendo executado e fazer algo, se não :
for /F "tokens=3 delims=: " %%H in ('sc query MyServiceName ^| findstr " STATE"') do (
if /I "%%H" NEQ "RUNNING" (
REM Put your code you want to execute here
REM For example, the following line
del E:\DSpace\handle-server\txns
sc start MyServiceName
)
)
Tudo o que você precisa fazer é substituir MyServiceName
pelo nome abreviado do seu serviço e, em seguida, colocar esse arquivo em lote na pasta de inicialização ou simplesmente executá-lo quando for necessário. Eu coloquei a linha para excluir seu bloqueio arquivo já.