ASP.NET执行cmd命令的实现,需要使用System.Diagnostics.Process类,该类可以让你启动一个新的进程,并且可以通过StandardInput输入命令,通过StandardOutput输出执行结果。以下是实现步骤:
1. 引入命名空间
using System.Diagnostics;
2. 创建Process对象并设置属性
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";//设置要启动的应用程序或文档的名称或路径。
process.StartInfo.CreateNoWindow = true;//设置是否在新窗口中启动进程。
process.StartInfo.UseShellExecute = false;//是否通过操作系统外壳程序启动进程。
process.StartInfo.RedirectStandardInput = true;//是否重定向输入。
process.StartInfo.RedirectStandardOutput = true;//是否重定向输出
3. 启动进程并输入命令
process.Start();
process.StandardInput.WriteLine("dir");//输入命令
process.StandardInput.WriteLine("echo hello");//可以连续输入多条命令
4. 获取执行结果
string output = process.StandardOutput.ReadToEnd();
像上面的程序会输出当前目录下的文件列表,以及输入的"hello"。
下面是一个更完整的例子,在这个例子中,将会输入cmd命令“ipconfig”并将结果输出到网页上:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Clear();
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine("ipconfig");//输入命令
p.StandardInput.WriteLine("exit");
string output = p.StandardOutput.ReadToEnd();
Response.Write(output);//输出执行结果
}
另一个示例,在这个示例中,我们将会输入cmd命令“mkdir”创建一个目录,并把执行结果输出到网页上:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Clear();
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine("mkdir test");//输入命令
p.StandardInput.WriteLine("exit");
string output = p.StandardOutput.ReadToEnd();
Response.Write(output);//输出执行结果
}
以上就是ASP.NET执行cmd命令的实现代码的详细攻略,希望能帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.Net执行cmd命令的实现代码 - Python技术站