从运行位置查找特定应用程序,而不仅仅是application.exe?

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

我想要一种使用两个不同的批处理脚本运行和检查两个相同的 application.exe 的方法(以防它们崩溃)。为了做到这一点,我需要根据 .exe 的来源路径单独检查每一个。

我当前的代码如下所示:

tasklist /FI "IMAGENAME eq TimeLoopServer.exe" 2>NUL | find /I /N "TimeLoopServer.exe">NUL
if "%ERRORLEVEL%"=="0" goto :PULSE

这非常有效,它会检测它是否在 Windows 中运行,如果没有,它会重新启动。

但现在我想从不同的目录运行第二个实例,所以我的想法是我可以像这样设置目录:

tasklist /FI "IMAGENAME eq C:\ServerOne\TimeLoopServer.exe" 2>NUL | find /I /N "C:\ServerOne\TimeLoopServer.exe">NUL
if "%ERRORLEVEL%"=="0" goto :PULSE

但这似乎没有检测到路径可执行文件。

有没有更好的方法来解决这个问题?

应用程序在任务管理器中看起来相同,唯一的区别是文件的启动位置。

windows batch-file tasklist
1个回答
0
投票

我认为你有更多的运气,使用

wmic
,类似:

wmic process where caption="TimeLoopServer.exe" get commandline

=>

commandline
可能表示进程运行的目录,这不是您要找的吗?

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