ASP.Net执行cmd命令的实现代码
ASP.NET 中执行 cmd 命令的实现代码
在 ASP.NET WebForm 应用中,我们可以通过 C 的 `System.Diagnostics` 命名空间下的 `Process` 类来执行 cmd 命令。下面是一段简单的实现代码,供需要的朋友参考。
需要在页面的 Load 事件里调用 `ExeCommand` 方法并执行 ping 命令。以下是代码示例:
```csharp
using System;
using System.Diagnostics;
using System.Web.UI;
namespace WebForm
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string result = ExeCommand("ping .126."); // 执行 ping 命令并获取结果
Response.Write(result); // 将结果写入响应流中
}
public string ExeCommand(string commandText)
{
Process process = new Process();
process.StartInfo.FileName = "cmd.exe"; // 指定要执行的程序
process.StartInfo.UseShellExecute = false; // 不使用系统 shell 启动进程
process.StartInfo.RedirectStandardInput = true; // 重定向标准输入流,以便我们可以向它写入数据
process.StartInfo.RedirectStandardOutput = true; // 重定向标准输出流,以便我们可以读取数据
process.StartInfo.RedirectStandardError = true; // 重定向标准错误流,以便我们可以读取错误信息
process.StartInfo.CreateNoWindow = true; // 创建无窗口进程(隐藏窗口)
string output = string.Empty; // 用于存储命令输出的字符串
try
{
process.Start(); // 启动进程
process.StandardInput.WriteLine(commandText); // 向进程写入命令文本
process.StandardInput.WriteLine("exit"); // 输入 exit 命令以结束进程
output = process.StandardOutput.ReadToEnd(); // 读取标准输出流的内容,即命令的输出结果
process.WaitForExit(); // 等待进程结束
}
catch (Exception ex)
{
output = ex.Message; // 如果发生异常,将异常信息赋值给 output 变量
}
finally
{
process.Close(); // 关闭进程和所有相关的资源
}
return output; // 返回命令的输出结果或错误信息
}
}
}
```
在这段代码中,我们创建了一个新的进程来执行 cmd 命令。通过重定向标准输入、输出和错误流,我们可以捕获命令的输出和可能的错误信息。请注意,这段代码需要在服务器端运行,并且具有执行 cmd 命令的权限。出于安全考虑,请谨慎使用这段代码,避免执行可能对系统造成损害的命令。
编程语言
- ASP.Net执行cmd命令的实现代码
- 使用jquery DataTable和ajax向页面显示数据列表的方法
- 微信小程序之数据缓存的实例详解
- 使用新浪微博API的OAuth认证发布微博实例
- 浅析jquery与checkbox的checked属性的问题
- PHP重定向的3种方式
- SQL Server分隔函数实例详解
- BootStrap iCheck插件全选与获取value值的解决方法
- jQuery+slidereveal实现的面板滑动侧边展出效果
- Javascript iframe交互并兼容各种浏览器的解决方法
- JavaScript动态加载样式表的方法
- 编写PHP脚本过滤用户上传的图片
- 浅析Node.js的Stream模块中的Readable对象
- 微信小程序 两种为对象属性赋值的方式详解
- 你不一定知道的关于JavaScript的正则表达式
- Vue 实用分页paging实例代码