2012-08-06 28 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 

那么参数就是通过命令行传递的参数。

相关问题