2012-08-06 29 views
2

我有一個解決方案,讀取文件名的命令行並閱讀其內容。我才意識到,這將是整齊的,如果該文件的內容Main(String[] args)得到安置爲args輸入我能去的如何將C#中的文件內容直接導入參數?

c:\MyReader.exe < text.txt 

代替

c:\MyReader.exe text.txt 

。它是可行的還是我將不得不解析該文件?

回答

1

正如你無疑發現,重定向不起作用。能夠完成你想要實現的功能取決於shell解釋器的功能。你幾乎可以肯定地寫一個批處理文件,它可以做你想做的,但你也可以把它作爲自己程序的一個特性,而不是依賴批處理文件。

public static Main(String[] args) { 
    if (args.Length >= 2 && args[0] == "/args") { 
     args = File.ReadAllText(args[1]).Split(' '); 
    } 
    ... 
} 

如果你的啓動程序是這樣的:

c:\MyReader.exe /args text.txt 

參數將從text.txt服用;如果你的程序是這樣啓動的:

c:\MyReader.exe param1 param2 param3 

那麼參數就是通過命令行傳遞的參數。

相關問題