首页 > 解决方案 > 在 Windows 窗体应用程序中集成 bat 文件

问题描述

我想制作一个 Windows 窗体应用程序,按下按钮将执行 bat 文件的命令,但我不想存储 bat 文件。

标签: c#

解决方案


您可能会做两件事之一。在临时空间中创建文件。使用 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");

推荐阅读