我想制作一个Windows窗体应用程序,在其中按一下按钮即可执行bat文件的命令,但是我不想存储bat文件。
答案 0 :(得分:0)
您可能会做2件事情之一。 在临时空间中创建文件。使用process.start执行cmd。并在执行后删除。您应该等待命令结束。
或者您可以使用stdin打开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");