我有一个“目标”的快捷方式"C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"
。
我想从批处理文件运行它,所以我将其复制"C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"
到 cmd.exe 命令行并按回车键。什么也没发生。
如何"C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"
在 Windows7 上从命令行运行?
更新
js 文件包含
var WshShell = new ActiveXObject("Wscript.Shell");
WshShell.run("java -Dlog.dir=%TEMP% -jar taf-loader.jar", 0, false);
WScript.exit;
Wscript.exe
我尝试按照@Serge 的建议使用和运行 js 文件,Cscript.exe
但没有任何效果 = 我双击启动的程序没有启动。也没有错误。
C:\>Cscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
C:\>Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"
C:\>
答案1
您有两个选择:
Cscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"
或者
Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"
前者启动Windows Scripting Host的命令行版本,后者启动Windows Scripting Host的窗口版本。
命令行选项记录在这里: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cscript
和这里: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wscript
在您的脚本文件中,您应该使用 jar 文件的完整路径,并可能使用 java.exe 的完整路径
或者,为了允许java.exe
定位文件,tar-loader.jar
您应该将当前目录更改为包含此文件的目录,因此在调用wscript
make之前cd "C:\Users\Public\TestPro\TestPro Automation Framework\"
正如您提到的,您希望一键运行此脚本,您也可以在桌面上创建一个快捷方式,将命令行设置为Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"
并将工作目录设置为C:\Users\Public\TestPro\TestPro Automation Framework\
答案2
如果你可以在控制台窗口中运行“java”而没有任何错误,那么
1)在桌面上创建一个名为“taf.txt”的文本文件
2)在文本文件中输入“java -Dlog.dir=%TEMP% -jar taf-loader.jar”,并保存
3)将文件重命名为“taf.bat”
完毕。
使用脚本主机来启动一个脚本,该脚本会启动一个 shell,然后该 shell 会启动一个 Java 程序,这实在是太冗长了。
从您想要实现的目标来思考一下 - 您希望通过单击图标来启动程序。
批处理文件是在 win7 上实现该操作的最快方法。
如果您使用的操作系统可以本机启动 Javascript 脚本而不会造成任何混乱,那么这将是一种很好的启动方式,但是该脚本只能在 Windows 上运行(除非 ActiveX 已移植 - 我已经很久没有用过它了)。
来源:拥有 10 多年经验的专业 Java 开发人员
答案3
Java 1.6 可以jrunscript
在 Web 浏览器之外运行 JavaScript。