【问题标题】:How to run a CMD.exe command from an ASP.NET application?如何从 ASP.NET 应用程序运行 CMD.exe 命令?
【发布时间】:2011-11-23 00:23:40
【问题描述】:

这是我的代码:

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 -jar "C:\inetpub\wwwroot\ScirraNew\static\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\ScirraNew\static\ac\templates\jquery-externs.js” --externs "C:\inetpub\wwwroot\ScirraNew\static\ac\templates\c2-externs.js"

  • 它不会抛出任何错误,也不会完成命令
  • 如果我自己将命令复制并粘贴到 cmd.exe 中,它运行得很好

【问题讨论】:

  • 使用cmd没有意义;你应该直接调用java.exe。
  • 相信你需要使用/c参数来指定java命令。 System.Diagnostics.Process.Start("cmd.exe", "/c \"java.exe ...\"");
  • @Slaks,谢谢!但是我该怎么做呢?我是这方面的新手
  • @Slaks,想通了!你的一个天才!谢谢:D
  • 你打电话给cmd 有一个很长的参数。相反,调用java 并使用您要传递给java 的参数。

标签: c# asp.net iis-7 cmd iis-7.5


【解决方案1】:

您需要在生成的Process 实例上调用WaitForExit()。

【讨论】:

  • 谢谢,仍然什么都不做,也没有抛出错误。我见过这个问题:stackoverflow.com/questions/4679561/… 但是如果这有帮助,在 IIS 7.5 上找不到什么进程?
  • 使用该参数调用 cmd 是错误的。直接致电java.exe 或添加/c,如问题的cmets 中所述。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2015-12-06
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 2015-05-12
    • 2013-02-19
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多