【问题标题】:creating bat file to start multiple applications if not already running - task scheduler如果尚未运行,则创建 bat 文件以启动多个应用程序 - 任务调度程序
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-28
    • 2022-12-30
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 2019-08-26
    相关资源
    最近更新 更多