-
Processクラスを使用する方法:
using System; using System.Diagnostics; class Program { static void Main() { string command = "コマンドを入力してください"; Process process = new Process(); process.StartInfo.FileName = "cmd.exe"; process.StartInfo.Arguments = "/c " + command; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.UseShellExecute = false; process.Start(); string output = process.StandardOutput.ReadToEnd(); process.WaitForExit(); Console.WriteLine("実行結果: " + output); } }
-
PowerShellを使用する方法:
using System; using System.Management.Automation; class Program { static void Main() { string command = "コマンドを入力してください"; using (PowerShell powerShell = PowerShell.Create()) { powerShell.AddScript(command); var results = powerShell.Invoke(); foreach (var result in results) { Console.WriteLine("実行結果: " + result.ToString()); } } } }
-
WMIを使用する方法:
using System; using System.Management; class Program { static void Main() { string command = "コマンドを入力してください"; ConnectionOptions connectionOptions = new ConnectionOptions(); connectionOptions.Authentication = AuthenticationLevel.PacketPrivacy; ManagementScope managementScope = new ManagementScope("\\\\localhost\\root\\cimv2", connectionOptions); managementScope.Connect(); ObjectGetOptions objectGetOptions = new ObjectGetOptions(); ManagementPath managementPath = new ManagementPath("Win32_Process"); using (ManagementClass processClass = new ManagementClass(managementScope, managementPath, objectGetOptions)) { using (ManagementBaseObject inParams = processClass.GetMethodParameters("Create")) { inParams["CommandLine"] = command; using (ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null)) { Console.WriteLine("実行結果: " + outParams["ReturnValue"].ToString()); } } } } }
これらの方法を使用すると、外部コマンドの実行結果を取得することができます。必要に応じてコードをカスタマイズしてください。また、例外処理も適切に行うことをおすすめします。