从命令提示符中获取正在运行的进程的命令行

Dee*_*pak 0 parameters command cmd

我想在命令提示符(cmd.exe)中确定正在运行的进程的命令行参数.

例如,如果我abc.exe按如下方式启动我的程序:

abc -d 
Run Code Online (Sandbox Code Playgroud)

我想稍后确定整个命令行.该TASKLIST实用程序不提供此信息,因为它只报告exe名称而不报告启动进程的参数.

mel*_*okb 6

这是一个基于GUI的方法(在Windows 7上测试 - YMMV).我不知道从命令行获取此数据的简单方法.

  1. 打开任务管理器(CTRL + SHIFT + ESC),然后转到"进程"选项卡.
  2. 从"视图"菜单 - >"选择列"...
  3. 滚动到最底部并选择"命令行"
  4. 在新显示的"命令行"列中,您可以看到启动该过程的整个命令,包括任何命令行参数

命令行方法:

  1. 使用管理员权限启动PowerShell
  2. 使用Get-WmiObject列出进程并过滤上面的进程名称.通过下面的select语句添加/删除字段 - 示例:

    Get-WmiObject win32_process -Filter "name like '%notepad.exe'"|select CreationDate,ProcessId,CommandLine|ft -AutoSize
    
    Run Code Online (Sandbox Code Playgroud)

注意:此示例使用进程名称"notepad.exe",替换特定方案的名称.

  • 我已经想出了一个方法。我使用 Tasklist 获取每个进程的 processID ,然后使用 wmic 获取实际的 commandLine 。 (2认同)
  • wmic process where processID=12345 get commandLine 将给出启动进程所使用的实际命令及其命令行参数。 (2认同)