有没有办法找到任务管理器中显示的进程描述?
我尝试过使用
wmic process get ProcessID, Description | find "4308"
,但这似乎返回了名称。
这个描述列看起来像可执行文件的描述属性。因此,我们将首先尝试获取该可执行文件的路径,然后从可执行文件中获取描述。
这对于 WMIC 来说可能是可能的,但它要求您首先获取可执行路径,然后使用 WMIC 或其他标准 Windows 可执行文件使用该路径从可执行文件中获取文件属性。
以下是如何使用 WMIC 获取可执行路径:
wmic process where "ProcessID=4308" get ExecutablePath
这不会返回干净的路径,因此我们需要对其进行一些处理,然后才能将其用于其他命令来获取文件属性,但我不确定如何使用 WMIC 获取文件描述。
我确实知道 Powershell 比 CMD 更强大,所以如果您愿意使用 Powershell 作为工具而不是 WMIC,我们可以拥有更多控制权并在一行中完成:
powershell (Get-Item (Get-Process -Id 4308).Path).VersionInfo.FileDescription
我们可以通过构建一些混乱的命令将其结果放入 cmd 变量中:
for /f "usebackq delims=" %i in (`powershell ^(get-item ^(get-process -Id 4308^).Path^).VersionInfo.FileDescription`) do set description=%i
echo %description%
然后将进程 ID 也设为变量:
set processId=4308
for /f "usebackq delims=" %i in (`powershell ^(get-item ^(get-process -Id %processId%^).Path^).VersionInfo.FileDescription`) do set description=%i
echo %description%
如果您不想使用 Powershell,则必须了解如何从给定路径获取此文件描述属性。我还没有立即找到如何在没有 Powershell 的情况下完成此操作的明显方法。
请记住将其放入批处理文件中,我相信您需要将 %i 替换为 %%i。然后您可以执行 @echo off 来隐藏命令。
这绝对是一个有趣的问题。欢迎光临!