代码如下:新建进程,运行cmd,参数为bat文件的内容。
注意如果是IIS部署,且批处理中需要管理员权限,则还需要将该网站的应用程序池–高级设置–标识设置为:LocalSystem
string filePath = Server.MapPath("/bat.bat"); if (File.Exists(filePath)) { Process process = new Process(); var startInfo = new ProcessStartInfo { FileName = "cmd.exe", //这里执行的是bat文件,所以要在cmd中执行 // Use /K to have the new cmd window stay after the batch file is done Arguments = $"/C \"{filePath}\"", Verb = "runas", //管理员身份运行 RedirectStandardOutput = true, //重定向输出为了前台展示cmd内容 RedirectStandardError = true, UseShellExecute = false }; process.StartInfo = startInfo; process.Start(); process.WaitForExit(); //获取输出结果 string output = process.StandardOutput.ReadToEnd(); this.txtResult.Text = "已执行。\n" + output; }