从Windows服务启动时,批处理文件不会启动程序

问题描述 投票:0回答:1

我创建了一个批处理文件,以便在特定服务停止时运行。批处理文件应该停止相关软件运行,重新启动某些服务(停止/启动)并再次启动软件。

这是一个简单的代码:

@echo off
Taskkill /F /IM program1.exe
Taskkill /F /IM program2.exe
timeout /t 5
net stop service1
net stop service2 && net start service2
net start service3
timeout /t 2
start C:/path/program1.exe
start C:/path/program2.exe

已设置服务以将批处理文件作为第一次失败时的恢复运行。批处理文件通过快捷方式链接,以便能够以管理员身份运行它。

这在直接运行批处理文件时非常有效,但是当它由服务恢复执行时,软件的启动就会失败。有谁知道什么可能是错的?

windows batch-file
1个回答
0
投票

在某些情况下,timeout /t 5可能会造成麻烦。尝试用PING -n 6 127.0.0.1 > NUL替换它。

© www.soinside.com 2019 - 2024. All rights reserved.