是否可以为在Visual Studio C#中编写和编译的应用程序创建自定义命令提示符参数。我希望我的应用程序的用户能够通过命令行在其中执行操作。
例如,如果用户键入CMD application_name.exe -parameter
以执行分配给parameter
的代码。
答案 0 :(得分:6)
是的,这是string[] args
中Program.cs
的用途。
确保您拥有所需的一切的最简单方法是从Visual Studio中的控制台应用程序模板创建应用程序。
要做到这一点:
Console Application
这将确保您拥有所需的所有引用,并且Program.cs
类已正确设置。
这是一个假的示例,说明了在程序的Main
方法中可以执行的操作,以便在命令行接受参数:
static void Main(string[] args)
{
if (args.Length <= 0) //Checking the Length helps avoid NullReferenceException at args[0]
{
//Default behavior of your program without parameters
}
else
{
if (args[0] == "/?")
{
//Show Help Manual
}
if (args[0] == "/d")
{
//Do something else
}
//etc
}
}
然后在命令提示符处,用户可以键入:
yourProgamName.exe /?
yourProgramName.exe /d
正如在删除的答案中所提到的,有一个很棒的库来处理复杂的命令行选项:
答案 1 :(得分:0)
这就是主方法中“args”参数的用途。
如果您的用户运行“application_name.exe -parameter”,则args [0]将为“-parameter”。您可以使用它将应用程序分支到正确的代码。
查看this question以查看用于处理大量命令行参数/参数的示例和良好的库。
答案 2 :(得分:0)
如果由于某种原因您无法访问main()
,则可以从Environment.CommandLine
获取命令行。