用C#调用bat文件方法如下: string strMQConfig = @"D:/aa.bat" //调用QMC.bat文件 StreamReader sr = File.OpenText(strMQConfig); Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.CreateNoWindow = true; p.Start(); while (sr.Peek() != -1) { string line = sr.ReadLine(); p.StandardInput.WriteLine(line); } sr.Close(); p.WaitForExit(); 在最后加上p.WaitForExit();这一句是为了等进程执行完毕以后再执行后面的代码,这时一定要在bat文件的最后加上exit,否则将要永远等待下去,进入死循环。