c#运行批处理文件doen';行不通

c#运行批处理文件doen';行不通,c#,batch-file,C#,Batch File,我正在尝试从C#控制台执行批处理文件。 以下代码不起作用。 我想知道我的ProcessStartInfo配置有什么问题 String cmd = "/C "+ path2watch + "\\batch.bat"; ProcessStartInfo psi = new ProcessStartInfo() { CreateNoWindow = true, UseShellExecute = false, FileName = @"cmd.exe", Argum

我正在尝试从C#控制台执行批处理文件。 以下代码不起作用。 我想知道我的ProcessStartInfo配置有什么问题

String cmd = "/C "+ path2watch + "\\batch.bat";

ProcessStartInfo psi = new ProcessStartInfo() 
{
    CreateNoWindow = true,
    UseShellExecute = false,
    FileName = @"cmd.exe",
    Arguments = cmd,
    RedirectStandardError = true,
    RedirectStandardOutput = true,
    ErrorDialog = false
};

Process p = Process.Start(psi);
p.WaitForExit();


谢谢

问题是我没有设置工作目录属性。 我已将工作目录设置为所需路径。
但奇怪的是,为什么cd没有解决“工作目录”问题

调试它并检查输出窗口中的错误。如果需要,把它贴上去。同时公布path2watch的值。path2watch将是什么样的
path2watch
,先用固定路径替换它怎么样?正如@JustinHarvey所说的-在第二行之后公布整个cmd值。我使用的是cd“path”,它不会更改为我的请求path@avishle如果要执行bat文件,只有一条语句带有do
Process.Start(@“C:\Users\\batch.bat”)
cd
仅当当前工作目录和所需的新目录位于同一驱动器上时,才会执行预期操作。您当前的工作目录位于
d:\
上,因此
cd c:\something
实际上什么也没做。