2014-07-03 65 views
0

我想從JavaScript中調用帶有參數的cmd.exe。但它正在打開cmd.exe而無所事事。用Javascript調用一個EXE文件

以下是腳本。

function f_InvokeEXE() { 
     var oShell = new ActiveXObject("WScript.shell"); 
     var commandtoRun = '"C:\\Windows\\system32\\cmd.exe"'; 
     var argumentString = '"C:\\Program Files (x86)\\PICT\\pict.exe" "C:\\Program Files (x86)\\PICT\\Sample.txt" > "C:\\Program Files (x86)\\PICT\\pab.xls"'; 
     var a = oShell.run(commandtoRun + ' ' + argumentString, 1, true); 
    } 

手動操作時它的工作正常。 (打開命令提示符並輸入該命令)。

+0

我假設你在Internet Explorer(唯一支持'ActiveXObject') – Ian

+3

這樣做,你需要使用'/ c' arg for cmd.exe。沒有這些,它不會執行你在命令行傳遞的任何內容。 –

+2

你需要cmd.exe嗎? 「WScript.shell」是否允許直接運行「pict.exe」? –

回答

0

使用/c arg作爲cmd.exe。不這樣做,它不會執行你的命令字符串:

C:\Users\marc>cmd echo foo 
Microsoft Windows [Version 6.1.7601] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Users\marc>exit 

C:\Users\marc>cmd /c echo foo 
foo 

C:\Users\marc> 

注意的版本,而/c如何只啓動一個新的外殼。

+0

可否請您修改我發佈的功能,並根據您的答案重新發布? var argumentString ='cmd/c notepad.exe'is working but var argumentString ='cmd/c「C:\\ Program Files(x86)\\ PICT \\ pict.exe」「C:\\ Program Files(x86) \\ PICT \\ Sample.txt「>」C:\\ Program Files(x86)\\ PICT \\ pab.xls「'給出錯誤,因爲」C:\ Program「未被識別爲內部或外部命令 –

+0

Got它......謝謝@Marc –

相關問題