使用C#从命令提示符运行PhantomJs

时间:2013-05-21 10:26:17

标签: c# phantomjs

我正在尝试运行PhantomJs.exe抛出C#代码。 我的代码:

Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.FileName = "cmd.exe";
startInfo.WorkingDirectory = @"E:\";
startInfo.Arguments = "some string code here";
startInfo.CreateNoWindow = true;
process.StartInfo = startInfo;
process.Start();

当我运行时,它将转到WorkingDirectory E:/,但是参数不是在cmd提示符上写的。

任何好友都建议我在cmd.exe上运行参数吗?

1 个答案:

答案 0 :(得分:1)

为了让cmd.exe接受另一个命令作为参数,您需要在该命令之前加上/ K(如果您希望cmd窗口保持打开状态)或/ C(如果您希望窗口关闭)命令完成后)。所以:

argument ="/C phantomjs highcharts-convert.js -infile options1.json -outfile chart1.png -scale 2.5 -width 300 -constr Chart -callback callback.js";

应该做你需要的。

但是,如果您只想运行PhantomJS程序,我同意Tommi:只需先运行该程序而不首先启动cmd.exe进程(即使用startInfo.FileName = "phantomjs.exe";代替。