4

次の機能が機能しない理由をトラブルシューティングしようとしています。

 public void RunCmd()
            {
                string strCmdText;
                strCmdText = "/C [enter command stuff here]";
                System.Diagnostics.Process.Start("CMD.exe", strCmdText);
            }

ただし、実行しようとしたり、いくつかのブレークポイントを挿入しようとすると、コマンドが開き、エラーが表示され、すぐに閉じます (あまりにも速く、何も読み取れません)。

プログラムを停止したり、何が起こっているのかを把握したりする方法はありますか? ブレークポイントが機能していないようです。

この c# スクリプトを使用して実行する代わりに、コマンド プロンプトに直接入力すると、コマンドは正常に動作します。

4

7 に答える 7

15

これを試して:

 strCmdText = "/K [enter command stuff here]";

/C 文字列で指定されたコマンドを実行し、終了します

/K 文字列で指定されたコマンドを実行しますが、残ります

于 2013-08-02T18:03:04.380 に答える
2

pauseコマンドを追加してみてはいかがでしょうか。

于 2013-08-02T18:00:15.997 に答える
0

/K と /C を使用して「残る」シェルを作成する方法に関するヒントに加えて、空の「set」コマンドを挿入して、生成されたシェルに設定されている環境変数 (およびパス) を確認することをお勧めします。おそらく、独自のシェル セッションでのスクリプトの実行の成功と生成されたシェルでの失敗の違いは、スクリプトが実行される環境設定です。

于 2013-08-05T16:59:07.267 に答える