【发布时间】:2012-07-21 15:26:46
【问题描述】:
我是否可以获取 exe 的可用命令行参数列表?我需要创建一个 Powershell 脚本来启动 Relius Agent Manager 程序,但该程序需要数据库登录名和密码信息才能加载。
我可以获得登录/传递信息,但我需要知道传递它们所需的参数的名称。
无论我使用 Powershell 还是 C# 来检索参数列表,我只需要知道它们的名字即可。
我阅读了 C# 中的 Process 类,但我没有看到任何实际列出可用参数的内容,只有如何列出进程启动时传递的内容。
【问题讨论】:
-
AFAIK 这在任何编程语言中都不应该是可能的。但是,您可以做的是打开 CMD/bash/whatever 并运行
<myprogram.exe> --help或<myprogram.exe> /?并查看是否为您提供了可用的参数。 -
不,我认为这不可能。对于任何程序,“参数数量”只不过是字符串。在 C 中,这些参数作为 int argc、char *argv 传递。长话短说,除了解析可能的“帮助”输出之外,您还被卡住了。
-
我同意其他评论者的观点。您将受到解析使用输出的支配。如果exe甚至提供它。这是 PowerShell 命令优于命令行 exe 的一大好处。 PowerShell 为所有 PowerShell 命令提供参数解析引擎,提供解析一致性 (- vs /)、位置参数、参数名称消歧以及获取参数信息的能力,例如
Get-Command Get-Process -Syntax.
标签: c# .net oracle powershell