如何从ASP.NET应用程序运行CMD.exe命令?

问题描述:

这里是我的代码:如何从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,谢谢!但我该怎么做?我是这个 –

你需要调用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

您应该使用所需的参数直接执行java.exe

传递cmd.exe命令行不会做任何事情。