\

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/// <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
コマンド実行後のリターンコードを返します。

使用例

1
2
3
4
5
6
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 に指定したバッチファイルを実行し、標準出力、標準エラー出力、リターンコードを取得します。

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

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

About Me

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