我有一个程序test.exe,它接收参数并在特定的.txt路径中写入一些日志作为输入。 我想添加这个命令:
text.exe /r >> textFile.txt
含义:构建项目并将日志写入textFile.txt(不存在)
我不确定它是如何工作的?是args[2] = ">>"
和args[3] = textFile.txt
?
我怎么能用它的名字?
困惑!
编辑:
当我调试并查看当地人时,我只看到/r
,但>> textFile.txt
根本没有显示。
我如何从命令行获取它作为参数?
edit2:
理解它应该自动重定向,但是当我这样做时它就会失败并将我发送到一行:Console.CursorLeft = 0;
意味着当我不这样做的时候我正试图用光标做些什么有一个控制台...只是.txt
谢谢!
答案 0 :(得分:7)
不,命令shell将仅将/r
传递给test.exe
,它会自动重定向输出以追加到textFile.txt
。你的应用程序无法看到 - 至少不是简单。
如果您只是让程序写入标准输出(例如Console.WriteLine
),则输出将以textFile.txt
结束。
答案 1 :(得分:2)
“>>” 中命令提示符将其用作特殊命令,以指示它将输出重定向到以下文件。
您无需在程序中处理此问题;只需进行正常的Console.WriteLine()
调用,输出就会被重定向。
答案 2 :(得分:0)
在命令提示符下运行应用程序时,传递参数如:
c:\>test.exe /r >> textFile.txt
命令提示符明白在>>之后只需要将参数/ r传递给我们程序的文件名是他的用法。 例如,在命令提示符下尝试运行以下命令
c:\>ipconfig
和
c:\>ipconfig >> text.txt
c:\>notepad.exe text.txt
你会发现第一次输出显示在屏幕上,第二次是用命令提示符本身给出的文件名写的。