Batch file 使用srvany&x27;不执行

Batch file 使用srvany&x27;不执行,batch-file,service,windows-services,Batch File,Service,Windows Services,我有一个监视其他服务的简单批处理文件。如果服务正在运行,它将检查依赖进程是否正在运行。如果没有,它将重新启动服务。如果服务停止,它也会停止依赖进程。服务实际上触发了流程,然后它们是独立的 批处理文件如下所示- @echo off :start sc query MyService | find "STATE" | find "RUNNING" if errorlevel 1 WMIC process Where "CommandLine Like '%% -jar myjar.jar%%

我有一个监视其他服务的简单批处理文件。如果服务正在运行,它将检查依赖进程是否正在运行。如果没有,它将重新启动服务。如果服务停止,它也会停止依赖进程。服务实际上触发了流程,然后它们是独立的

批处理文件如下所示-

@echo off
:start
sc query MyService | find "STATE" | find "RUNNING"
    if errorlevel 1 WMIC process Where "CommandLine Like '%% -jar myjar.jar%%'" Call Terminate

WMIC process where caption="java.exe" get commandline | findstr "myjar.jar" > nul
    if errorlevel 1 sc stop MyService && sc start MyService 

Sleep 10
goto start
我不想在交互式cmd控制台中运行上述批处理文件,因为任何人都可以关闭它。所以,服务是必要的。创建我使用的服务。我已经正确地遵循了这个过程,但是它没有执行批处理文件,因为它没有监视服务(我已经对它进行了测试)

我使用的是Windows7企业操作系统,显然是管理员用户

有人能告诉我创建服务的方式有什么问题吗


如果需要任何澄清,请询问,我们将感谢您的帮助。

细节将是关键。如果srvany没有启动批处理文件,则说明该设置有问题。此外,请检查事件日志中是否有启动服务的错误。详细信息中会列出问题所在。如果srvany没有启动批处理文件,则说明该设置有问题。此外,请检查事件日志,查看启动服务时是否有错误。