如何在 Windows 命令行中显示每个正在运行的进程的完整 EXE 文件路径?
tasklist /FI "ImageName eq Spring.Tests.exe" /v /fo List
给出:
Image Name: Spring.Tests.exe
PID: 3956
Session Name: Console
Session#: 1
Mem Usage: 9,772 K
Status: Running
User Name: W81ENTX64DELPHI\Developer
CPU Time: 0:00:01
Window Title: Spring
和
pslist Spring.Tests -x
给出:
Name Pid VM WS Priv Priv Pk Faults NonP Page
Spring.Tests 3956 83472 9772 5320 5692 5037 11 157
Tid Pri Cswtch State User Time Kernel Time Elapsed Time
1488 10 11018 Wait:UserReq 0:00:00.906 0:00:01.046 0:53:06.977
由于Spring.Tests.exe
可以在各个目录中,所以我想知道执行了哪一个。
答案1
除了您给出的行之外,这里还有一堆行(第二行除外)可用于列出路径:
PS C:\> gwmi win32_process | select Handle, CommandLine | format-list
PS C:\> gwmi win32_process | select name
PS C:\> gwmi win32_process | select CommandLine
C:\>wmic process get ProcessID,ExecutablePath
C:\>wmic process where "name='mysqld.exe'" get ProcessID, ExecutablePath
C:\>wmic process where "name='mysqld.exe'" get ProcessID, ExecutablePath /FORMAT:LIST
答案2
电源外壳去救援。
PowerShell Get-Process ^| Get-Member
然后我从 Get-Process 中过滤路径找出Spring.Tests
正在运行的进程:
PowerShell Get-Process Spring.Tests ^| Format-List Path
导致:
Path : C:\Users\Developer\Versioned\Spring4D\Tests\Bin\DelphiXE\Spring.Tests.exe
这正是我想要的信息。
答案3
将 PowerShell 导入Get-Process
到Select-Object
。
Notepad++ 的示例命令:
Get-Process notepad++ | Select-Object Path
输出:
Path
----
D:\Notepad++\notepad++.exe
答案4
我正在运行一个文件abc.txt
,并通过在 Windows 上的命令行中使用它来找到路径
wmic process where "CommandLine like '%abc.txt'" get commandline
你可以用类似的方法尝试一下。