从CMD中找到任务管理器描述栏?

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

有没有办法找到任务管理器中显示的进程描述?

任务管理器

我尝试过使用

wmic process get ProcessID, Description | find "4308"
,但这似乎返回了名称。

使用 wmic 的 CMD

windows cmd
1个回答
0
投票

这个描述列看起来像可执行文件的描述属性。因此,我们将首先尝试获取该可执行文件的路径,然后从可执行文件中获取描述。

这对于 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 来隐藏命令。

这绝对是一个有趣的问题。欢迎光临!

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