c# - 使用 > out.txt 命令 C#

标签 c#

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

我可以通过解析控制台应用程序的参数“>”来处理这个问题,然后写入文件(下面的示例)。但是有没有更优雅的方法来处理这个问题?

   public void Run(string[] args)
        {



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

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

最佳答案

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

顺便说一句,即使您 try catch 并解释“>”,您也永远不会看到它,因为 CMD.EXE 已经解析了命令行并解释了如下内容:

myprog.exe > foo.txt

as “不带参数运行 myprog.exe 并将其输出重定向到 foo.txt” 传递给程序的参数列表不会包含 >foo.txt.

关于c# - 使用 > out.txt 命令 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36412886/

相关文章:

c# - Fluent Nhibernate问题(ClassMap)

javascript - 基于比较 c# 中 gridview 的文本框值来启用或禁用按钮

c# - 在 ASP.NET 网站中使用 File.CreateFile 将文件插入 Sql Server 2012 FileTable 时访问被拒绝

c# - MVC4 - 无法加载文件或程序集 'Microsoft.Web.Infrastructure...'

javascript - asp.net 上的慢速 C# websockets

c# - 点混淆器(.NET 混淆器)是否会在未安装混淆器的机器上引起问题?

c# - 为什么这个转换操作失败

javascript - 在后面的代码中读取时隐藏控制值不正确

c# - 如何在Azure角色代码中进行调试输出?

c# - ASP.NET CORE 2.1 的 Cookie 身份验证问题。 AWS负载均衡