0

我正在尝试设置一个执行 bat 文件的任务,如果该文件尚未运行,它将启动一堆进程。我找到了一些示例并尝试将它们放在一起,但似乎不起作用。我想在 Windows 2008 服务器上进行设置,这些都是 Visual Studio 2010 vb.net 应用程序。

@echo off 
:start
set /p runningprocess="C:\Users...Debug\PROCESS_I.exe"
tasklist /FI "IMAGENAME eq %runningprocess%" | find /I "%runningprocess%" > nul
IF %ERRORLEVEL% equ 0 ECHO PROCESS_? is running 
IF %ERRORLEVEL% equ 1 ECHO PROCESS_? is not running 
pause>nul
goto start 
exit

如何调整它以运行多个进程:

set /p runningprocess="C:\Users...Debug\PROCESS_II.exe"
set /p runningprocess="C:\Users...Debug\PROCESS_III.exe"

该任务应该能够每 1 或 2 小时启动一次,以检查进程是否已经在运行,如果没有启动新进程。这是我的备份计划,用于确保我的进程在发生某些故障时始终运行,我可以通过来自每个应用程序内的电子邮件收到警报。

任何想法表示赞赏。

编辑:刚刚检查了上次运行结果的任务计划,它说“目录名称无效”,这是在程序/脚本中:

"C:\Users\...\BatchProcesses\PTTrackProcesses.bat"

这是在开始

C:\Users\...\BatchProcesses\

手动运行时出错

C:\Users\..Debug\PROCESS_I.exe
ERROR: The search filter cannot be recognized.
PROCESS is not running
4

1 回答 1

0

好的,想通了。按照上面的评论进行了更改,并稍微更改了脚本。

于 2013-10-10T13:56:47.677 回答