c# - 在 Windows 窗体应用程序中集成 bat 文件
问题描述
我想制作一个 Windows 窗体应用程序,按下按钮将执行 bat 文件的命令,但我不想存储 bat 文件。
解决方案
您可能会做两件事之一。在临时空间中创建文件。使用 process.start 执行 cmd。并在执行后删除。您应该等待命令结束。
或者您可以使用标准输入打开 cmd 并将命令写入 cmd。
public static string Execute(string file, params string[] args)
{
string argpass = "";
foreach (string arg in args)
argpass += "\"" + arg + "\" ";
var info = new ProcessStartInfo();
info.FileName = file;
info.Arguments = argpass;
info.UseShellExecute = false;
info.RedirectStandardOutput = true;
var p = Process.Start(info);
p.WaitForExit();
return p.StandardOutput.ReadToEnd();
}
有些人认为使用命令是这样的
File.WriteAllText("TempScript.bat","batch data");
string outp = Execute(cmd,"TempScript.bat");
File.Delete("TempScript.bat");
推荐阅读
- bash - 如何在环境变量中使用 sed 将 ':' (冒号)替换为 ' - '(两边都有空格的连字符)?
- java - 是否可以确定openjdk的rt.jar中有哪些版本的组件?
- http - Azure 逻辑应用 -- HTTP 操作 -- POST 错误
- pytorch - 多层上的维度减少是否允许在最终表示中存储更多细节?
- java - PropertyAccessException: IllegalArgumentException 发生调用对象的 getter
- angular - 如何使用 ng2-pdf-viewer 获取 pdf 中的点击部分坐标
- r - 在循环中创建基本 R 图
- c# - RTSP Socks 协议无效响应
- excel - Excel 引用当前单元格进行条件格式设置
- xcode - 如何将“获取 UI 元素按钮”[+] 移动到右侧面板