如何在 Windows 上从命令行运行 .js 文件?

如何在 Windows 上从命令行运行 .js 文件?

我有一个“目标”的快捷方式"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您应该将当前目录更改为包含此文件的目录,因此在调用wscriptmake之前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。

相关内容