使用> out.txt命令C#

时间:2016-04-04 21:08:06

标签: c#

我正在创建一个控制台应用程序。我想使用> cmd命令所以当用户使用我的应用程序时,他们可以指定他们希望通过>将输出写入其选择的文本文件中。 out.txt语法。

我可以通过解析'>'的控制台应用程序的args来解决这个问题。然后编写文件(下面的示例)。但有更优雅的方式来处理这个问题吗?

   public void Run(string[] args)
        {



            switch (args[0])
            {
                case "/a":
                    {
                         Console.WriteLine("Hi There");
                         Console.WriteLine();
                        return;
                    }

当我输入myApplication.exe /时,代码运行正常 当我输入myApplication.exe / a> out.txt时,代码不会向控制台写入任何内容,并且不确定out.txt所在的目录(如果有的话)?

3 个答案:

答案 0 :(得分:4)

这不是你需要写入你的程序的东西;它由CMD.EXE处理。您所要做的就是通过Console.WriteConsole.WriteLine写入控制台。然后,如果您的应用程序的用户想要使用>重定向标准输出,他或她可以。

作为旁注,即使您尝试捕获并解释'>',您也永远不会看到它,因为CMD.EXE已经解析了命令行并解释了某些内容像这样:

myprog.exe > foo.txt

as"运行不带参数的myprog.exe并将其输出重定向到foo.txt"传递给您的计划的参数列表不会包含>foo.txt

答案 1 :(得分:1)

默认情况下,命令行会为您处理此问题。如果您的应用程序使用Console.WriteLine(...)或任何其他方法写入控制台写入控制台,则用户始终可以使用'>'管道输出到文件。符号。它内置于Windows命令提示符本身。

答案 2 :(得分:0)

您不必执行任何操作 - 命令行将为您执行此操作。只需执行console.write即可运行