c# コマンドプロンプトのコマンドを実行するc#プログラムソース

C#からコマンドプロンプトのコマンドを実行するソースコードを紹介します。

    /// <summary>
    /// バッチコマンドを実行する
    /// </summary>
    /// <param name="executeCommand">コマンド文字列</param>
    /// <param name="stdOut">標準出力</param>
    /// <param name="stdErr">標準エラー出力</param>
    /// <param name="exitCode">終了コード</param>
    /// <returns>リターンコード</returns>
    public static int ExecBatProcess(string executeCommand, out string stdOut, out string stdErr, out int exitCode)
    {
        stdOut = "";
        stdErr = "";
        exitCode = 0;

        try
        {
            Process process = new Process();
            ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd.exe", "/c " + executeCommand);
            processStartInfo.CreateNoWindow = true;
            processStartInfo.UseShellExecute = false;

            processStartInfo.RedirectStandardOutput = true;
            processStartInfo.RedirectStandardError = true;

            process = Process.Start(processStartInfo);
            process.WaitForExit();

            stdOut = process.StandardOutput.ReadToEnd();
            stdErr = process.StandardError.ReadToEnd();
            exitCode = process.ExitCode;

            process.Close();

            return 0;
        }
        catch
        {
            return 16;
        }
    }

引数

executedCommand
コマンドプロンプトで実行するコマンドと引数を指定します。バッチファイルパスでもOKです。

stdOut
標準出力の内容を返します。

stdErr
標準エラー出力の内容を返します。

exitCode
コマンド実行後のリターンコードを返します。

使用例

    public string batchStdOut;
    public string batchStdErr;
    public int batchExitCode = 0;

    string batPath = @"D:\\uploads3.bat";
    UEProcess.ExecBatProcess(batPath, out batchStdOut, out batchStdErr, out batchExitCode);

batPath に指定したバッチファイルを実行し、標準出力、標準エラー出力、リターンコードを取得します。

速攻でメモできる QuickNote リリースしました!

QuickNoteは動作が超軽量でサクサクかけるノートアプリです。一瞬の閃きを逃さずにノートを開き書き始めることができます。 アカウント登録も不要です。お試しあれ!

Excel操作をコマンドで! proBoarderExcel

Excelはマウスで操作するのが基本ですが、マウス操作に疲れてはいませんか? キーボードでExcel操作ができるようになるアプリです。オープンソースで無料です。

積み上げ! Daily Stack リリースしました!

Daily Stack は日々の積み上げを管理するToDoアプリです。過去の積み上げの振り返りだけでなく、ツイート機能もあります。 アカウント登録不要ですぐに使い始めることができます。

ExecNote.app リリースしました!

ExecNoteは、コードが実行できるMarkdownアプリケーションです。Markdownドキュメント内に記載したコードをクリックすると実行ができます。わざわざターミナルを 起動させる必要がありません!無料ですのでもしよければダウンロードをお願いします。

About Me

11年目のシステムエンジニアです。アプリで生活や仕事を改善したい🐱仕事効率化、自動化のアプリ開発が得意です、ご相談ください。 🚀エンタメ系アプリの開発も模索中🐬社内SEや個人アプリ開発者、システムエンジニアになりたい人と繋がりたい🐱