【发布时间】:2013-10-10 12:47:01
【问题描述】:
我正在尝试设置一个执行 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
【问题讨论】:
-
好的,我想出了如何让它运行....条目中的开始只需要路径,并且需要删除引号。但我希望打开一个命令窗口,至少会看到一条确认消息回显,但什么也没有。
标签: vb.net batch-file windows-server-2008 scheduled-tasks