📅  最后修改于: 2023-12-03 14:59:41.979000             🧑  作者: Mango
在 C# 中,我们可以通过 System.Diagnostics.Process
类来外部执行一些命令行指令或批处理脚本。这可以方便程序员进行一些系统级别的操作,例如创建文件、修改文件权限等等。
要使用 System.Diagnostics.Process
类来执行批处理或命令行指令,首先需要创建一个 Process
对象,然后配置一些属性,最后调用该对象的 Start
方法即可。以下是一个简单的示例代码片段:
var process = new Process();
process.StartInfo.FileName = "cmd.exe"; // 要执行的命令行指令或批处理脚本
process.StartInfo.Arguments = "/c myscript.bat"; // 执行的参数
process.StartInfo.UseShellExecute = false; // 不使用默认的 shell 环境
process.StartInfo.RedirectStandardOutput = true; // 重定向标准输出流
process.Start();
string output = process.StandardOutput.ReadToEnd(); // 读取命令行输出
process.WaitForExit(); // 等待命令行退出
Console.WriteLine(output); // 输出命令行输出
Process
类的一些常见属性:
StartInfo.FileName
:要执行的命令行指令或批处理脚本的文件名。StartInfo.Arguments
:执行命令行的参数。StartInfo.UseShellExecute
:是否使用默认的 shell 环境来执行命令行(默认为 true)。StartInfo.WorkingDirectory
:执行命令行的工作目录。StartInfo.RedirectStandardOutput
:是否重定向标准输出流到 Process.StandardOutput
属性中(默认为 false)。在使用 System.Diagnostics.Process
类执行命令行时,需要注意以下几点:
Process.WaitForExit()
方法等待命令行退出。StartInfo.RedirectStandardOutput
属性设置为 true,然后调用 process.StandardOutput.ReadToEnd()
方法读取输出信息。通过 System.Diagnostics.Process
类,我们可以方便地在 C# 中执行命令行指令或批处理脚本,以完成一些系统级别的操作。需要注意参数处理、命令行输出信息读取等细节。