2

ファイル名のコマンドラインを読み取り、その内容を読み取るソリューションがあります。行けたらいいなと気づいた

c:\MyReader.exe < text.txt

それ以外の

c:\MyReader.exe text.txt

ファイルの内容が のargs入力として配置された場合Main(String[] args)。それは実行可能ですか、とにかくファイルを解析する必要がありますか?

4

2 に答える 2

3

argsこれは内容をに入れませんが、標準入力にリダイレクトしてConsole.Readメソッドがキーボードではなくファイルから読み取るようにします。

于 2012-08-06T15:26:54.733 に答える
1

間違いなくわかっているように、リダイレクトは機能しません。達成しようとしていることを実行できるかどうかは、シェル インタープリターの機能によって異なります。ほとんどの場合、必要な処理を実行するバッチ ファイルを作成できますが、バッチ ファイルに依存するのではなく、それを独自のプログラムの機能にすることもできます。

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

その場合、引数はコマンド ラインで渡されたものになります。

于 2012-08-06T15:31:46.570 に答える