如果您可以从命令行触发所需的 .exe 和 .bat 文件,那么您可以使用
System.Diagnostics.Process.Start("myProg.exe", "cmdParam");
使用参数 cmdParam 启动 myProg.exe。从那里我只需为您要运行的每个程序(或一组程序)打开一个带有按钮的 WinForms 应用程序,然后在单击处理程序代码中启动它们。当然,您需要知道文件的路径,但您总是可以在尝试使用它们之前添加一些逻辑来检查它们是否存在。
如果你想变得聪明,那么你可以挂钩标准文件打开对话框来定位它们,然后添加一个文本框来输入该命令行参数字符串,这样你就可以拥有:
public class MyBatchFile
{
public string Name { get; set; }
public string FilePath { get; protected set; }
public string DefaultParams { get; protected set; }
public MyBatchFile(string filePath, string defaultParams)
{
FilePath = filePath;
DefaultParams = defaultParams;
}
public string Run(string params = null)
{
System.Diagnostics.Process.Start(FilePath, (params ?? DefaultParams));
}
}
你可以让你的程序保留一个内部List<Program>
来存储这些。如果你想变得非常聪明,那么你可以添加一个方法来将该列表序列化到一个文件中,然后添加一些代码来读回该文件并验证它描述的文件是否仍然存在,现在你有一个整洁的小程序启动 GUI,可以记住您的批处理文件和命令行工具的位置,并提供一个很好的简单界面来启动它们。您甚至可以添加一种将它们分组的方法,这样您就可以一键运行多个操作。
如果不出意外,这个答案已经解释了为什么我总是有一个编程项目在进行中。