1

引数-a、-c、および3400 @ takdを指定してlmutil.exeを実行し、コマンドラインプロンプトで生成されるすべてのものをテキストファイルに入れたいと思います。以下にあるものが機能していません。

プロセスをステップスルーすると、「System.InvalidOperationExceptionタイプの例外をスローしました」などのエラーが発生します。

        Process p = new Process();
        p.StartInfo.FileName = @"C:\FlexLM\lmutil.exe";
        p.StartInfo.Arguments = "lmstat -a -c 3400@tkad>Report.txt";
        p.Start();
        p.WaitForExit();

私が欲しいのは、コマンドライン出力をReport.txtに書き込むことだけです

4

2 に答える 2

2

出力を取得するには、ここに記載されているプロパティProcessを使用できます。StandardOutput

次に、ファイルに書き込むことができます。

Process p = new Process();
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = @"C:\FlexLM\lmutil.exe";
p.StartInfo.Arguments = "lmstat -a -c 3400@tkad";
p.Start();
System.IO.File.WriteAllText("Report.txt", p.StandardOutput.ReadToEnd());
p.WaitForExit();
p.Close();
于 2012-01-04T18:23:59.757 に答える
1

>を使用してプロセス経由でリダイレクトすることはできません。使用する必要がありますStandardOutput。また、これを機能StartInfo.RedirectStandardOutputさせるには true に設定する必要があることに注意してください。

于 2012-01-04T18:24:46.823 に答える