完成处理后退出控制台应用程序

时间:2015-10-07 03:16:33

标签: c# command-line process arguments

我的代码启动一个包含3个以空格分隔的参数的进程。

 ProcessStartInfo info = new ProcessStartInfo();
 info.FileName = exeLauncher;
 info.Arguments = path + " " + exeName + " " + restartNeeded;
 Process process = new Process();
 Process.Start(info);

我正在解析我开始的进程上的参数并进行一些处理。

static void Main(string[] args)
{

    Console.WriteLine(args[0]);
    Console.WriteLine(args[1]);
    Console.WriteLine(args[2]);

    //some more processing here

    Console.ReadLine();
}

处理完毕后,我希望控制台窗口自行关闭。我试过像这样使用/c参数,但它只是把它解释为一个普通的字符串。

info.Arguments = "/c" + path + " " + exeName + " " + restartNeeded;

我还尝试将参数括在""双引号中,但它不起作用。

info.Arguments = string.Format("/c \"{0} {1} {2}\"", path, exeName, restartNeeded);

3 个答案:

答案 0 :(得分:2)

你可以这样试试

static void Main(string[] args)
{

    Console.WriteLine(args[0]);
    Console.WriteLine(args[1]);
    Console.WriteLine(args[2]);

    //some more processing here

}

Console.ReadLine();会让您等待,直到按下回车键才会关闭窗口。因此,您可以删除此行以完成任务。

答案 1 :(得分:1)

您是否尝试删除Console.ReadLine();并返回int以了解其是否成功执行,例如:

static int Main(string[] args)
{

    Console.WriteLine(args[0]);
    Console.WriteLine(args[1]);
    Console.WriteLine(args[2]);

    //some more processing here

    return 0; // if success or > 1 for errors
}

答案 2 :(得分:0)

这应该适合你:

Environment.Exit(0);