2014-10-16 39 views
0

我想用自動壓縮多個JS/CSS文件。每次我基本上需要運行以下Java命令:如何在Windows命令提示符下通過JScript收集運行Java applet的輸出?

Java的罐子的YUICompressor-2.4.8.jar 「腳本in.js」 -o 「腳本out.js」

所以我使用微軟的JScript引擎做到這一點:

var oShell = WScript.CreateObject("WScript.Shell"); 

var scriptIn = "script in.js"; 
var scriptOut = "script out.js"; 

var strRun = "java -jar yuicompressor-2.4.8.jar \"" + scriptIn + "\" -o \"" + scriptOut + "\""; 

oShell.Run(strRun, 0, true); 

這工作得很好,但它並沒有給我從壓縮機的任何輸出。請注意,如果我將同一行Java代碼放在.bat文件中,並從命令行運行它,它會提供運行命令的輸出(YUI Compressor的警告,錯誤等)

因此,好奇,我如何通過我的JScript收集它?

回答

3

使用.Exec代替.RUN和捕捉的對象STDERR:

var exec = oShell.Exec(strRun); 
WScript.Echo(exec.StdErr.ReadAll()); 

(指定strRun --verbose;使用docs與檢查.STATUS和一個更強大的版本替換上述黑客.StdErr.AtEndOfStream)

+0

欣賞它。這正是我需要的。 – c00000fd 2014-10-16 20:51:32

相關問題