¿Cómo ejecutar el archivo .js desde una línea de comandos en Windows?


15

Tengo un atajo con 'target' "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js".

Quiero ejecutar eso desde un archivo por lotes, así que copié la "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"línea de comando cmd.exe y presioné enter. No pasó nada.

¿Cómo puedo ejecutar "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"desde una línea de comandos en Windows7?

actualizar

el archivo js contiene

var WshShell = new ActiveXObject("Wscript.Shell");
WshShell.run("java -Dlog.dir=%TEMP% -jar taf-loader.jar", 0, false);
WScript.exit;

Traté de ejecutar el archivo js con ambos Wscript.exey Cscript.execomo sugirió @Serge, pero nada funcionó = el programa que inicio haciendo doble clic no ha comenzado. No hay error tampoco.

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:\>

¿En qué idioma está escrito el archivo .js en JavaScript o JScript?
Robert

@Robert: No lo se. No es mi guión. Es un producto comercial que quiero poder iniciar con un clic o de una manera muy rápida (Windows 7). Si fijo lo que se está ejecutando, no comenzará la próxima vez.
Radek

Respuestas:


14

Tienes dos opciones:

Cscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"

o

Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"

El primero inicia la versión de línea de comandos de Windows Scripting Host y el segundo inicia la versión de la ventana.

Las opciones de la línea de comandos están documentadas aquí: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cscript

y aquí: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wscript

En su archivo de script, debe usar la ruta completa a su archivo jar y posiblemente la ruta completa a java.exe

Alternativamente, para permitir la java.exeubicación del tar-loader.jararchivo, debe cambiar el directorio actual al que contiene este archivo, así que antes de invocar wscriptmakecd "C:\Users\Public\TestPro\TestPro Automation Framework\"

Como mencionó que le gusta ejecutar este script en un solo toque, también puede crear un acceso directo en su escritorio que tenga una línea de comando establecida Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"y un directorio de trabajo establecido enC:\Users\Public\TestPro\TestPro Automation Framework\


Estoy de acuerdo con Serge, ¿por qué no ejecutar java -Dlog.dir=%TEMP% -jar taf-loader.jardirectamente desde la línea de comandos o el lote? ¿Por qué este método circular? (Obviamente, java.exe tiene que estar en la RUTA.)
Karan

@Karan y Serge: Vea mi comentario debajo de mi pregunta. No es mi guión. No quiero modificarlo. Tal vez pueda usar su código para crear mi propio archivo por lotes o algo así. Prefiero no modificar nada.
Radek

"Tal vez pueda usar su código para crear mi propio archivo por lotes o algo así". - Sí, ¿qué pasa cuando lo haces?
Karan

Fue solo un pensamiento. No sé cómo hacerlo en este momento y no estoy seguro de si puede causar algún problema por qué inicio el programa en ese lote y no es 100% correcto.
Radek

@Radek, ¿tanto tar-loader.jar reside en el mismo directorio 'C: \ Users \ Public \ TestPro \ TestPro Automation Framework \'?
Serge

2

Si puede ejecutar 'java' en una ventana de consola sin errores, entonces

1) Cree un archivo de texto en su escritorio llamado 'taf.txt'

2) Ingrese "java -Dlog.dir =% TEMP% -jar taf-loader.jar" en el archivo de texto y guárdelo

3) Cambie el nombre del archivo a 'taf.bat'

Hecho.

El uso de un host de secuencias de comandos para iniciar una secuencia de comandos que inicia un shell que inicia un programa Java es demasiado largo.

Piénselo en términos de lo que quiere lograr: desea que el programa se inicie con un clic de un icono.

El archivo por lotes es la forma más rápida de lograrlo en win7.

Si estuviera utilizando un sistema operativo que pudiera iniciar de forma nativa un script Javascript sin alterarlo, sería una buena manera de iniciarlo, pero ese script no funcionaría en otra cosa que no sea Windows (a menos que ActiveX sea portado ahora, ha sido un largo tiempo tiempo desde que lo he usado).

Fuente: Desarrollador profesional de Java por más de 10 años.


0

Java 1.6 viene jrunscriptpara ejecutar JavaScript fuera de los navegadores web.


No es para archivos javascript (js): es para scripts Java y (ahora) no está incluido en JRE.
0zkr PM
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.