Come eseguire il file .js da una riga di comando su Windows?


15

Ho una scorciatoia con "target" "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js".

Voglio eseguirlo da un file batch, quindi ho copiato la "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"riga di comando in cmd.exe e ho premuto Invio. Non è successo niente.

Come posso eseguire "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"da una riga di comando su Windows7?

aggiornare

il file js contiene

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

Ho provato a eseguire il file js con entrambi Wscript.exee, Cscript.execome suggerito da @Serge, ma non ha funzionato nulla = il programma che ho avviato facendo doppio clic non è stato avviato. Nessun errore neanche.

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

In che lingua è il file .js scritto in JavaScript o JScript?
Robert,

@Robert: non lo so. Non è la mia sceneggiatura. È un prodotto commerciale che voglio poter avviare con un clic o in modo molto veloce (Windows 7). Se aggiungo ciò che è in esecuzione, la prossima volta non si avvia.
Radek,

Risposte:


14

Hai due opzioni:

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

o

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

Il primo avvia la versione della riga di comando di Windows Scripting Host e il secondo avvia la versione della finestra.

Le opzioni della riga di comando sono documentate qui: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cscript

e qui: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wscript

Nel file di script è necessario utilizzare il percorso completo del file jar e possibilmente il percorso completo di java.exe

In alternativa, per consentire l' java.exeindividuazione del tar-loader.jarfile, è necessario modificare la directory corrente in quella contenente questo file, quindi prima di richiamare wscriptmakecd "C:\Users\Public\TestPro\TestPro Automation Framework\"

Come hai detto che ti piace eseguire questo script in un solo tocco, puoi anche creare un collegamento sul desktop che ha una riga di comando impostata su Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"e la directory di lavoro impostata suC:\Users\Public\TestPro\TestPro Automation Framework\


Sono d'accordo con Serge, perché non eseguire direttamente java -Dlog.dir=%TEMP% -jar taf-loader.jardalla riga di comando o dal batch? Perché questo metodo circolare? (Ovviamente, java.exe deve trovarsi nel PERCORSO.)
Karan,

@Karan & Serge: vedi il mio commento sotto la mia domanda. Non è la mia sceneggiatura. Non voglio modificarlo. Forse posso usarne il codice per creare il mio file batch o qualcosa del genere. Preferisco non modificare nulla.
Radek,

"Forse posso usarne il codice per creare il mio file batch o qualcosa del genere." - Sì, quindi cosa succede quando lo fai?
Karan,

Era solo un pensiero. Non so come farlo adesso e non sono sicuro che possa causare problemi perché avvio il programma in tale batch e non è corretto al 100%.
Radek,

@Radek sia tar-loader.jar risiede nella stessa directory 'C: \ Users \ Public \ TestPro \ TestPro Automation Framework \'?
Serge,

2

Se puoi eseguire "java" in una finestra della console senza errori, allora

1) Crea un file di testo sul desktop chiamato 'taf.txt'

2) Immettere "java -Dlog.dir =% TEMP% -jar taf-loader.jar" nel file di testo e salvarlo

3) Rinomina il file in 'taf.bat'

Fatto.

L'uso di un host di script per avviare uno script che avvia una shell che avvia un programma Java è troppo lungo.

Pensaci in termini di ciò che vuoi ottenere: vuoi che il programma venga avviato con un clic di un'icona.

Il file batch è il modo più veloce per ottenerlo su win7.

Se stavi usando un sistema operativo che potrebbe dare il via nativamente a uno script Javascript senza fare confusione, sarebbe un buon modo per avviarlo, ma quello script non funzionerebbe su nulla diverso da Windows (a meno che ActiveX non sia stato portato ora - sarebbe stato un lungo tempo da quando l'ho usato).

Fonte: sviluppatore Java professionista da oltre 10 anni


0

Java 1.6 viene fornito jrunscriptper eseguire JavaScript al di fuori dei browser Web.


Non è per i file javascript (js): è per gli script Java e (ora) non è incluso in JRE.
0zkr PM
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.