2011-06-17 50 views
-7

我創建了一個經典的控制檯應用程序爲什麼c#控制檯應用程序不支持重定向到文件?

static void Main(string[] args) 
    { 

它的工作原理,除了當我嘗試將輸出重定向到一個文件

myconsoleapp.exe arg1 arg2 arg3 > output.txt 

不C#控制檯重定向支持?

+7

什麼不起作用? – Oded

+3

請告訴我們完整的代碼。你在stdout中寫什麼? – Dyppl

+1

你打算怎麼寫? Console.WriteLine只需轉到標準輸出,重定向就可以工作。 –

回答

1

如果構建了以下類:

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine("Hello World! - {0}", args[0]); 
    } 
} 

和執行

app.exe test > test.txt 

你與內容

Hello World! - test 

的文件test.txt如果你的代碼做不同的輸出寫作請提供你的輸出方法。

0

沒有更多的信息很難找出問題。我想過的一個想法是,您可能正在使用System.Diagnostics.Debug.WriteLine寫入調試控制檯。在這種情況下,您將無法以相同的方式重定向輸出,至少不是沒有更多的工作。

1

也許你的郵件發送到STDERR,而不是STDOUT。在這種情況下,你需要不同的重定向。從微軟的指導意見(http://support.microsoft.com/kb/110930):

您可以通過使用 「& 1」命令的輸出 重定向錯誤輸出到標準輸出,然後發送 輸出打印錯誤和標準 輸出到單個文件從標準輸出到一個文件:

dir file.xxx 1> output.msg 2>&1

或者,您可以將輸出重定向到一個 地方,錯誤到另一個。

dir file.xxx > output.msg 2> output.err

相關問題