May*_*y12 10 javascript command-line cmd shellexecute
我正在尝试编写javascript,它应该运行带有指定命令行的cmd.exe,例如docs.google.com/file/d/0B7QHCoQDlEvKWUZSX3oxUDI2SDg/edit:
我在microsoft网站上阅读shellexecute方法后准备一个代码:
var objShell = new ActiveXObject("Shell.Application");
objShell.ShellExecute("cmd.exe", "C: cd C:\\pr main.exe blablafile.txt auto", "C:\\WINDOWS\\system32", "open", "1");
Run Code Online (Sandbox Code Playgroud)
但它不会在cmd.exe中插入命令行.
有人能帮助我吗?先感谢您.
也许您没有在计算机中安装(或注册)此ActiveX控件.
WScript.Shell 应该在每个Windows中找到:
var run=new ActiveXObject('WSCRIPT.Shell').Run("commands to run");
Run Code Online (Sandbox Code Playgroud)
如果有空格commands to run,则需要使用双引号.
编辑
以下内容主要来自MSDN:http://msdn.microsoft.com/en-us/library/windows/desktop/gg537745(v = vs.85).aspx
iRetVal = Shell.ShellExecute(
sFile,
[ vArguments ],
[ vDirectory ],
[ vOperation ],
[ vShow ]
)
Run Code Online (Sandbox Code Playgroud)
我们来看吧[vDirectory].文档说:" path of the directory包含sFile指定文件的完全限定条件.如果未指定此参数,则使用当前工作目录."
这意味着您拥有此参数的无效路径(.cmd.exe在其末尾).此外,创建ActiveX的所有示例都是这样的:
var objShell = new ActiveXObject("shell.application");
Run Code Online (Sandbox Code Playgroud)
请注意小写字母"shell.application".
5月12日,谢谢你的提问.我之前不知道这个ActiveX控件,它对我来说似乎非常有用.
编辑二
但你了解它吗?您的示例在我的应用中完美运行:
objShell.ShellExecute("cmd.exe", "cd C: C:\\cd c:\\ext_file main.exe test.txt", "C:\\WINDOWS\\system32", "open", 1);
Run Code Online (Sandbox Code Playgroud)
有三个例外:
1)我在这个答案的早期提到的关于路径的那个
2)Escaped \也用于参数.
3)最后一个参数是数字的类型,而不是字符串.
| 归档时间: |
|
| 查看次数: |
81044 次 |
| 最近记录: |