1、
private void RunBat(string batPath)
{
Process pro = new Process();
FileInfo file = new FileInfo(batPath);
pro.StartInfo.WorkingDirectory = file.Directory.FullName;
pro.StartInfo.FileName = batPath;
pro.StartInfo.CreateNoWindow = false;
pro.Start();
}
2、
System.Diagnostics.Process.Start(@str);
1和2在启动bat文件上的区别:
因为进程有个工作目录的概念。比如说bat里直接写的是文件名,那这个文件是相对于进程工作目录的,而不是bat所在文件目录;如果直接
ProcessStart,工作目录是你自己的exe的目录,从而导致启动的进程,在找相对路径失败。

本文详细解释了两种启动BAT批处理文件的方法:通过定义Process对象指定工作目录与直接使用Process.Start方法。重点阐述了工作目录设置对于正确解析BAT文件中相对路径的重要性。
598

被折叠的 条评论
为什么被折叠?



