可能的重复项:
C# 中的批处理文件执行
我正在使用 c# 来运行 Java 批处理文件。但问题是,它没有走这条路。我在代码中使用:
var si = new ProcessStartInfo();
si.CreateNoWindow = true;
si.WorkingDirectory = batch_process_path;
si.FileName = batch_process_path + "\" + "run.bat";
si.UseShellExecute = true;
Process.Start(si.FileName);
根据我的逻辑,该过程应该从si.working
目录开始。但它是从"C:"开始的。但是如果我给出静态路径,它将成功执行。我不明白问题是什么。请帮帮我。
不要使用
batch_process_path + "\" +
而应使用 Path.Combine()
来确保路径正确适合斜杠。
另请阅读此"当 UseShellExecute 为 true 时,WorkingDirectory 属性指定可执行文件的位置"
因此,将其设置为 false。