使用.exe和.def代码在c#中运行bat文件

时间:2010-12-16 22:48:19

标签: c# process exe batch-file function

如何在C#中运行具有以下代码的bat文件:

tekla_dstv2dxf.exe -cfg tekla_dstv2dxf_metric.def -m batch -f *.nc1

或者在我的c#程序中复制该代码。 使用此代码执行bat文件,但bat文件不起作用。

System.Diagnostics.Process.Start(@"C:\0TeklaBatchProcess\1-SCAD_Issue_Processing\DXF\tekla_dstv2dxf_metric_conversion.bat");

如果我双击它,蝙蝠文件工作正常,而不是通过我的程序。

由于

3 个答案:

答案 0 :(得分:2)

您可以直接在Start方法参数中指定命令参数:

Process.Start("IExplore.exe", "www.northwindtraders.com");

所以

Process.Start("tekla_dstv2dxf.exe", "-cfg tekla_dstv2dxf_metric.def -m batch -f *.nc1");

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx

答案 1 :(得分:0)

使用System.Diagnostics.ProcessStartInfo

答案 2 :(得分:0)

好的,偶然解决了。代码如下:

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "tekla_dstv2dxf.exe";
proc.StartInfo.RedirectStandardError = false;
proc.StartInfo.RedirectStandardOutput = false;
proc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
proc.StartInfo.WorkingDirectory = @"C:\0TeklaBatchProcess\1-SCAD_Issue_Processing\DXF";
proc.StartInfo.Arguments = @"-cfg tekla_dstv2dxf_metric.def -m batch -f *.nc1";
proc.Start();
proc.WaitForExit();