自定义CMD命令

时间:2014-03-04 17:18:43

标签: c# command-line-arguments

是否可以为在Visual Studio C#中编写和编译的应用程序创建自定义命令提示符参数。我希望我的应用程序的用户能够通过命令行在其中执行操作。

例如,如果用户键入CMD application_name.exe -parameter以执行分配给parameter的代码。

3 个答案:

答案 0 :(得分:6)

是的,这是string[] argsProgram.cs的用途。

确保您拥有所需的一切的最简单方法是从Visual Studio中的控制台应用程序模板创建应用程序。

要做到这一点:

  1. 转到文件 - >新项目......
  2. 从可用模板列表中选择Console Application
  3. 命名您的解决方案
  4. 点击“确定”完成项目
  5. 这将确保您拥有所需的所有引用,并且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
    

    正如在删除的答案中所提到的,有一个很棒的库来处理复杂的命令行选项:

    NDesk Options

答案 1 :(得分:0)

这就是主方法中“args”参数的用途。

如果您的用户运行“application_name.exe -parameter”,则args [0]将为“-parameter”。您可以使用它将应用程序分支到正确的代码。

查看this question以查看用于处理大量命令行参数/参数的示例和良好的库。

答案 2 :(得分:0)

如果由于某种原因您无法访问main(),则可以从Environment.CommandLine获取命令行。