在DOS中运行进程的commandLine参数

问题描述:

我想知道DOS提示符下运行进程的命令行参数。对于例如,如果我开始了我的abc.exe在确实喜欢在DOS中运行进程的commandLine参数

ABC -d

我想请参阅下文得到这个命令行参数信息。 TASKLIST命令不提供此信息,它只是给出了exe名称,而不是用于启动进程的参数。

幸福,

迪帕克

+0

有在DOS任务列表没有这样的东西,因为它不是一个多任务操作系统。 [DOS和Windows命令提示符是完全不同](https://superuser.com/q/451432/241386) –

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

  1. 打开任务管理器(CTRL + SHIFT + ESC),并转到进程选项卡。
  2. 在查看菜单 - >选择列...
  3. 滚动至最底部,选择“命令行”
  4. 在新出的“命令行”一栏,你可以看到,开始整个命令的过程中,包括所有命令行参数

命令行方法:具有管理员权限的

    1. 启动一个PowerShell使用Get-WmiObject列出进程并过滤上面的进程名称。通过下面的select语句添加/删除字段 - 例如:

      Get-WmiObject win32_process -Filter "name like '%notepad.exe'"|select CreationDate,ProcessId,CommandLine|ft -AutoSize 
      

    注意:您的具体方案进程名称“的notepad.exe”用于这个例子中,替代名称。

  • +0

    其实,我想知道如何从DOS CommadLine做到这一点。 – Deepak

    +0

    我已经想出了一种方法。我使用Tasklist获取每个进程的processID,然后使用wmic获得实际的commandLine。 – Deepak

    +0

    wmic process where processID = 12345 get commandLine将提供进程启动时使用的实际命令及其命令行参数。 – Deepak

    来自mellanmokb的方法非常有效,但我认为这个问题会是什么?我可以在代码中看到,如果是这样的话,你使用C#或VB吗?

    如果情况是C#,你可以看到它在msdn library

    在那里,你可以看到的参数到达主(字串[] args),这是可以理解为参数= ARGS字符串[I]与我的说法的数量你想

    例如,如果您调用了args [2]在命令行是text.exe测试这里有

    ARGS [2]将出现在这里。

    remorse args [i]总是一个字符串。

    希望这有助于

    +0

    但它不适用于您正在编写的应用程序。 – manojlds

    +0

    嗨Manoj,Thanx的帮助..但我真正想要的是从DOS中的commandLine知道是否有任何方式..其实我已经找到了使用wmic和Tasklist的方法。 – Deepak

    +0

    @deepak - 我没有回答 – manojlds