
はじめまして。
現在、C#で以下のような仕様のEXEをProcess.Startで起動し、ReadToEndで
結果を受け取りたいのですが、できません。
EXEの仕様:
DOSプロンプトから以下のように起動します。
■ xxx.exe < yyy.txt
(yyy.txtを解析してDOSプロンプトに結果が出力されるプログラムです)
単に、xxx.exe yyy.txtと実行したのではエラーになるプログラムです。
期待する動き:
■ readToEndに出力ないようが表示される
たとえばnotepad.exeのようなプログラムの際には、
Process.Start("notepad.exe", "open.txt");
とすればopen.txtがメモ帳で開かれますが、
今回質問させていただいた関数のように リダイレクト"<"が必要なプログラムで
どう実装すれば、Process.Startで正常に動作してくれますでしょうか?
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
Processクラスのインスタンスを作成し必要なプロパティの設定を行ってから,
インスタンス用のStartメソッドを呼び出す必要があります。
標準入出力のリダイレクトについては,それぞれMSDNにサンプルがあるので参考になるかと思います。
MSDN: Process.StandardError プロパティ (System.Diagnostics)
http://msdn.microsoft.com/ja-jp/library/system.d …
MSDN: Process.StandardInput プロパティ (System.Diagnostics)
http://msdn.microsoft.com/ja-jp/library/system.d …
MSDN: Process.StandardOutput プロパティ (System.Diagnostics)
http://msdn.microsoft.com/ja-jp/library/system.d …
この回答への補足
回答ありがとございます。
質問の仕方が不足していました。
以下のように実装していますが、
string param = " < " + xxx.txt;
System.Diagnostics.Process p2 = new System.Diagnostics.Process();
p2.StartInfo.FileName = "C:\\test\\sample.exe";
p2.StartInfo.Arguments = param;
p2.StartInfo.UseShellExecute = false;
p2.StartInfo.RedirectStandardInput = true;
p2.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
p2.StartInfo.RedirectStandardOutput = true;
p2.Start();
p2.WaitForExit();
string xxx = p2.StandardOutput.ReadLine();
xxxに期待する文字列が入らないです。
パラメータに指定している"<"が怪しい気がするのですが・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
共通モジュールでDBへの接続と...
-
[VBA] Classから他のClassを呼...
-
ExcelVBAのコントロールの種類...
-
VBA シートのボタン名を変更し...
-
Wordテキストコントロールが未...
-
クリックイベントなのに、2回ク...
-
実行時エラー 438になった時の...
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
カメラスクロールするのを動画...
-
Microsoft Formsの「個人情報や...
-
テキストボックス(VBA)でEnter...
-
VC++のコンボボックスの各項目...
-
VBAがブレークモードになっ...
-
【C#/Java?】try-catchでcatch...
-
sheetsメソッドの失敗
-
メッセージボックスの表示位置...
-
eclipseのデバッグ中に変数の値...
-
MouseDownとMouseMoveイベント...
-
テキストボックスが読み取り専...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
共通モジュールでDBへの接続と...
-
[VBA] Classから他のClassを呼...
-
Excel vbaで複数のテキストボッ...
-
VB.netで、動的な型変換を行い...
-
VB.NETにて文字列で指定した関...
-
他のモジュールのプロシージャ...
-
'StructLayout' の仕様について
-
【JSF】バッキングビーンから別...
-
WPFでCanvas の子要素にアクセ...
-
VBA オブジェクト追加
-
用語の意味の違いを教えてくだ...
-
バウンドプロパティとは?
-
VB6で外部から静的アクセスが可...
-
コンポーネント指向って、どの...
-
C# Process.Start で標準入力
-
オブジェクト指向とは?
-
離れた場所のロールオーバーの...
-
C#でのWebRequestでのPOSTについて
-
実行時エラー 438になった時の...
-
worksheetFunctionクラスのVloo...
おすすめ情報