Comment exécuter le fichier .js à partir d'une ligne de commande sur Windows?

15

J'ai un raccourci avec «cible» "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js".

Je veux l'exécuter à partir d'un fichier de commandes, j'ai donc copié la "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"ligne de commande dans cmd.exe et appuyé sur Entrée. Rien ne s'est passé.

Comment puis-je exécuter à "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"partir d'une ligne de commande sur Windows7?

mise à jour

le fichier js contient

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

J'ai essayé d'exécuter le fichier js avec les deux Wscript.exeet Cscript.execomme l'a suggéré @Serge, mais rien n'a fonctionné = le programme que je démarre en double-cliquant n'a pas démarré. Aucune erreur non plus.

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:\>
Radek
la source
Dans quelle langue le fichier .js est-il écrit en JavaScript ou JScript?
Robert
@Robert: Je ne sais pas. Ce n'est pas mon script. C'est un produit commercial que je souhaite pouvoir démarrer en un clic ou de manière très rapide (Windows7). Si j'épingle ce qui est en cours d'exécution, il ne démarrera pas la prochaine fois.
Radek

Réponses:

14

Vous avez deux options:

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

ou

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

Le premier démarre la version en ligne de commande de Windows Scripting Host et le dernier démarre la version de la fenêtre.

Les options de ligne de commande sont documentées ici: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cscript

et ici: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wscript

Dans votre fichier de script, vous devez utiliser le chemin d'accès complet à votre fichier jar et éventuellement le chemin d'accès complet à java.exe

Alternativement, pour permettre de java.exelocaliser le tar-loader.jarfichier, vous devez remplacer le répertoire actuel par celui contenant ce fichier, donc avant d'appeler wscriptmakecd "C:\Users\Public\TestPro\TestPro Automation Framework\"

Comme vous avez mentionné que vous aimeriez exécuter ce script en une seule touche, vous pouvez également créer un raccourci sur votre bureau avec une ligne de commande définie sur Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"et un répertoire de travail défini surC:\Users\Public\TestPro\TestPro Automation Framework\

Serge
la source
Je suis d'accord avec Serge, pourquoi ne pas lancer java -Dlog.dir=%TEMP% -jar taf-loader.jardirectement depuis la ligne de commande ou le batch? Pourquoi cette méthode de contournement? (Évidemment, java.exe doit être dans le CHEMIN.)
Karan
@Karan & Serge: Voir mon commentaire sous ma question. Ce n'est pas mon script. Je ne veux pas le modifier. Peut-être que je peux utiliser du code pour créer mon propre fichier batch ou quelque chose comme ça. Je préfère ne rien modifier.
Radek
"Peut-être que je peux utiliser du code pour créer mon propre fichier batch ou quelque chose comme ça." - Ouais, alors que se passe-t-il quand tu le fais?
Karan
C'était juste une pensée. Je ne sais pas comment le faire en ce moment et je ne sais pas si cela peut causer des problèmes pourquoi je démarre le programme dans un tel lot et ce n'est pas 100% correct.
Radek
@Radek les deux tar-loader.jar résident-ils dans le même répertoire 'C: \ Users \ Public \ TestPro \ TestPro Automation Framework \'?
Serge
2

Si vous pouvez exécuter «java» dans une fenêtre de console sans erreur, alors

1) Créez un fichier texte sur votre bureau appelé 'taf.txt'

2) Entrez "java -Dlog.dir =% TEMP% -jar taf-loader.jar" dans le fichier texte et enregistrez-le

3) Renommez le fichier en 'taf.bat'

Terminé.

L'utilisation d'un hôte de script pour démarrer un script qui lance un shell qui lance un programme java est tout simplement trop longue.

Pensez-y en termes de ce que vous voulez réaliser - vous voulez que le programme se lance avec un clic sur une icône.

Le fichier batch est le moyen le plus rapide d'y parvenir sur win7.

Si vous utilisiez un système d'exploitation qui pouvait démarrer nativement un script Javascript sans le déranger, ce serait une bonne façon de le lancer, mais ce script ne fonctionnerait pas sur autre chose que Windows (à moins que ActiveX ne soit porté maintenant - cela fait longtemps depuis que je l'ai utilisé).

Source: Développeur Java professionnel depuis plus de 10 ans

Alex
la source
0

Java 1.6 est fourni avec jrunscriptpour exécuter JavaScript en dehors des navigateurs Web.

Umapathy Ravichandiran
la source
Ce n'est pas pour les fichiers javascript (js): c'est pour les scripts Java et (maintenant) non inclus dans JRE.
0zkr PM