2011-11-23 193 views
1

這裏是我的代碼:如何從ASP.NET應用程序運行CMD.exe命令?

string ex = "java -jar \"" + Settings.ClosureCompilerJarLocation + "\" --js \"" + C2runtimePath + "\" --js_output_file \"" + C2runtimeCompiledPath + "\" --language_in ECMASCRIPT5_STRICT --compilation_level ADVANCED_OPTIMIZATIONS --externs \"" + Settings.C2ExternsFolderLocation + "jquery-externs.js\" --externs \"" + Settings.C2ExternsFolderLocation + "c2-externs.js\""; 
System.Diagnostics.Process.Start("CMD.exe", ex); 

而就在它印刷的ex一個例子執行:

Java的罐子 「C:\的Inetpub \ wwwroot的\ ScirraNew \靜\ AC \ closure- compiler \ compiler.jar「 - js」C:\ inetpub \ wwwroot \ arcade \ games \ 46/c2runtime.js「--​​js_output_file」C:\ inetpub \ wwwroot \ arcade \ games \ 46/c2runtime_COMPILED.js「 --language_in ECMASCRIPT5_STRICT --compilation_level ADVANCED_OPTIMIZATIONS --externs 「C:\ inetpub \ wwwroot \ ScirraNe w^\靜\ AC \模板\ jQuery的externs.js」 --externs 「C:\的Inetpub \ wwwroot的\ ScirraNew \靜\ AC \模板\ C2-externs.js」

  • 一點也沒有「T拋出任何錯誤和不完整的命令
  • 如果我複製粘貼+命令到CMD.EXE我它運行得很好
+3

使用'cmd'沒有意義;你應該直接調用'java.exe'。 – SLaks

+0

我相信你需要使用'/ c'參數來指定java命令。 'System.Diagnostics.Process.Start(「cmd.exe」,「/ c \」java.exe ... \「」);' – drew010

+0

@Slaks,謝謝!但我該怎麼做?我是這個 –

回答

3

你需要調用WaitForExit()對所得Process實例。

+0

謝謝,仍然沒有做什麼,並沒有拋出一個錯誤。我見過這個問題:http://stackoverflow.com/questions/4679561/system-diagnostics-process-start-not-work-fom-an-iis但是找不到在IIS 7.5上執行它的過程如果這會有所幫助? –

+0

使用該參數調用'cmd'是錯誤的。要麼直接調用'java.exe',要麼添加'/ c',正如問題的註釋中所述。 – SLaks

1

您應該使用所需的參數直接執行java.exe

傳遞cmd.exe命令行不會做任何事情。