Запустите bat файл в c # с кодом .exe и .def - PullRequest
0 голосов
/ 17 декабря 2010

Как я могу запустить файл bat в C #, который имеет следующий код:

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");

Файл bat работает нормально, если я дважды щелкну по нему, но только не через программу.

Спасибо

Ответы [ 3 ]

2 голосов
/ 17 декабря 2010

Вы можете указать аргументы команды непосредственно в параметрах метода Start:

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

so

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

0 голосов
/ 17 декабря 2010

Хорошо, все получилось случайно. Код ниже:

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();
0 голосов
/ 17 декабря 2010

Использовать System.Diagnostics.ProcessStartInfo

...