如何在CMD中使用wmic job get/list来获取进程名称和位置?

8 jobs location cmd process wmic

我需要获取正在执行计划作业的进程名称确切位置.我想使用WMIC JOB(如果你有任何其他的建议......让我知道)来实现,但我不知道如何.到目前为止,我尝试了几种变化,但没有运气.

我该怎么办?

Liz*_*izz 8

以下内容可行,但您只需要" CommandLine" " ExecutablePath" - 而不是两者:

wmic process where "ProcessID=1111" get CommandLine, ExecutablePath
Run Code Online (Sandbox Code Playgroud)

它将返回如下所示的内容,显示PID 1111的程序正在运行的位置:

"C:\Program Files (x86)\Common Files\MyProgram\Agent\agent.exe"
Run Code Online (Sandbox Code Playgroud)


JPB*_*anc 5

这是开始的事情.

获取服务的进程标识符 Schedule

wmic service where name='schedule' get ProcessId
ProcessId
288
Run Code Online (Sandbox Code Playgroud)

获取父进程标识符作为Schedule服务的进程

wmic process where ParentProcessId=288
Run Code Online (Sandbox Code Playgroud)

编辑

我不认为Microsoft系统中的工作是您正在寻找的:

作业对象允许将进程组作为一个单元进行管理.作业对象是可命名的,安全的,可共享的对象,用于控制与其关联的进程的属性.对作业对象执行的操作会影响与作业对象关联的所有进程.示例包括强制执行限制(例如工作集大小和进程优先级)或终止与作业关联的所有进程.

我认为你正在寻找过程.

要回答您的问题,我会查找计划服务启动的流程.如果您想要确切的位置,则由酒店提供ExecutablePath.

wmic process where ParentProcessId=288 get ExecutablePath
ExecutablePath
C:\Windows\system32\wuauclt.exe
Run Code Online (Sandbox Code Playgroud)