我有一個解決方案,讀取文件名的命令行並閱讀其內容。我才意識到,這將是整齊的,如果該文件的內容Main(String[] args)
得到安置爲args
輸入我能去的如何將C#中的文件內容直接導入參數?
c:\MyReader.exe < text.txt
代替
c:\MyReader.exe text.txt
。它是可行的還是我將不得不解析該文件?
我有一個解決方案,讀取文件名的命令行並閱讀其內容。我才意識到,這將是整齊的,如果該文件的內容Main(String[] args)
得到安置爲args
輸入我能去的如何將C#中的文件內容直接導入參數?
c:\MyReader.exe < text.txt
代替
c:\MyReader.exe text.txt
。它是可行的還是我將不得不解析該文件?
這不會把內容放入args
,而是redirect it to standard input所以Console.Read
方法會從文件而不是鍵盤讀取。
正如你無疑發現,重定向不起作用。能夠完成你想要實現的功能取決於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
那麼參數就是通過命令行傳遞的參數。