はじめまして。
現在、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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- Windows 10 Windows11の実行モジュールはどこにある 1 2022/05/31 07:33
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- その他(プログラミング・Web制作) プログラム初心者です Pythonでタイピング練習サイトに 自動で入力するものをつくったのですが こ 2 2022/07/09 23:09
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
共通モジュールでDBへの接続と...
-
Excel vbaで複数のテキストボッ...
-
[VBA] Classから他のClassを呼...
-
VB.netで、動的な型変換を行い...
-
用語の意味の違いを教えてくだ...
-
コンポーネント指向って、どの...
-
VBAで、Functionを、クラスモジュール...
-
【JSF】バッキングビーンから別...
-
VBA listBoxから
-
VBA シートのボタン名を変更し...
-
worksheetFunctionクラスのVloo...
-
ユーザーフォームを表示中にシ...
-
実行時エラー 438になった時の...
-
「Columns("A:C")」の列文字を...
-
VBA(エクセル)で自動的にボタン...
-
エクセル・VBA CheckBoxのオブ...
-
ExcelのVBAで、選択したファイ...
-
エクセルエラー13型が一致しま...
-
OLEDB.NETで接続できない
-
クリックイベントなのに、2回ク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
共通モジュールでDBへの接続と...
-
[VBA] Classから他のClassを呼...
-
他のモジュールのプロシージャ...
-
用語の意味の違いを教えてくだ...
-
Excel vbaで複数のテキストボッ...
-
VB.netで、動的な型変換を行い...
-
コンポーネント指向って、どの...
-
WPFでCanvas の子要素にアクセ...
-
C#でのWebRequestでのPOSTについて
-
バウンドプロパティとは?
-
シーケンス図について。
-
VB.NETにて文字列で指定した関...
-
Python クラスとモジュールの...
-
【JSF】バッキングビーンから別...
-
ユーザーコントロールのメソッ...
-
'StructLayout' の仕様について
-
hibernate criteria
-
C# Process.Start で標準入力
-
VB6で外部から静的アクセスが可...
-
VBAで、Functionを、クラスモジュール...
おすすめ情報