现在我有一个带有返回值的批处理要在C#中调用,而且这个批处理需要三个参数,用Process类启动批处理,如何把参数传递给它?而且如何获取批处理的返回值?希望在程序中直接获取,我看到有个ExitCode属性,不知道是否就是执行的批处理返回值。

解决方案 »

  1.   

    System.Diagnostics.Process   proc;   
    proc   =   System.Diagnostics.Process.Start(@"cmd   /c   C:\a.bat   arg1   arg2 arg3");   
    proc.WaitForExit();   
    myProcess.ExitCode就是返回值
    试试看吧
      

  2.   

    下面的代码通过:
    上面的代码提示找不到文件:                         
    System.Diagnostics.Process  proc; 
    //proc  =  System.Diagnostics.Process.Start(@"cmd.exe /c  D:\Temp\BatTest\JftSendMerge.bat  999  FFdht FFdht999"); 
    proc  =  System.Diagnostics.Process.Start(@"D:\Temp\BatTest\JftSendMerge.bat" , "999  FFdht FFdht999"); 
    proc.WaitForExit(); 
    自己找到另外的方法:
                            Process p=new Process();
    p.StartInfo.FileName=@"D:\Temp\BatTest\JftSendMerge.bat";
    p.StartInfo.Arguments="999 FFdht FFdht999";
    p.Start();
    p.WaitForExit();
    p.Close();
    其实差不多一样的。
    不管怎样,多谢happyboxman的热心帮助!
    结贴给分了。