Wie führe ich die .js-Datei über eine Befehlszeile unter Windows aus?

15

Ich habe eine Verknüpfung mit "Ziel" "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js".

Ich möchte das von einer Stapeldatei ausführen, also kopierte ich das "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"in cmd.exe Befehlszeile und drückte die Eingabetaste. Nichts ist passiert.

Wie kann ich unter "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"Windows7 von einer Befehlszeile aus ausführen?

aktualisieren

die js datei enthält

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

Ich habe versucht, die js-Datei mit beiden zu starten Wscript.exeund Cscript.exewie von @Serge vorgeschlagen, aber nichts hat funktioniert = das Programm, das ich durch Doppelklick starte, wurde nicht gestartet. Auch kein Fehler.

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
quelle
In welcher Sprache ist die .js-Datei in JavaScript oder JScript geschrieben?
Robert
@ Robert: Ich weiß es nicht. Es ist nicht mein Drehbuch. Es ist ein kommerzielles Produkt, das ich mit einem Klick oder sehr schnell starten möchte (Windows7). Wenn ich festnehme, was gerade läuft, startet es das nächste Mal nicht.
Radek

Antworten:

14

Sie haben zwei Möglichkeiten:

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

oder

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

Ersteres startet die Befehlszeilenversion von Windows Scripting Host und letzteres startet die Fensterversion.

Die Befehlszeilenoptionen sind hier dokumentiert: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cscript

und hier: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wscript

In Ihrer Skriptdatei sollten Sie den vollständigen Pfad zu Ihrer JAR-Datei und möglicherweise den vollständigen Pfad zur java.exe verwenden

Um zuzulassen java.exe, dass die tar-loader.jarDatei gefunden wird, sollten Sie alternativ das aktuelle Verzeichnis in das Verzeichnis ändern, das diese Datei enthält, bevor Sie wscriptmake aufrufencd "C:\Users\Public\TestPro\TestPro Automation Framework\"

Wie Sie bereits erwähnt haben, möchten Sie dieses Skript mit einem einzigen Tastendruck ausführen. Sie können auch eine Verknüpfung auf Ihrem Desktop erstellen, für die die Befehlszeile Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"und das Arbeitsverzeichnis auf festgelegt sindC:\Users\Public\TestPro\TestPro Automation Framework\

Serge
quelle
Ich stimme Serge zu, warum nicht java -Dlog.dir=%TEMP% -jar taf-loader.jardirekt von der Kommandozeile oder dem Batch aus starten ? Warum diese Rundum-Methode? (Offensichtlich muss sich java.exe im PFAD befinden.)
Karan,
@ Karan & Serge: Siehe meinen Kommentar unter meiner Frage. Es ist nicht mein Drehbuch. Ich möchte es nicht ändern. Vielleicht kann ich Code daraus verwenden, um meine eigene Batch-Datei oder ähnliches zu erstellen. Ich ändere lieber nichts.
Radek
"Vielleicht kann ich Code daraus verwenden, um meine eigene Batch-Datei oder ähnliches zu erstellen." - Ja, was passiert dann?
Karan
Es war nur eine Weile. Ich weiß momentan nicht, wie ich es machen soll, und ich bin mir nicht sicher, ob es Probleme geben kann, warum ich das Programm in einem solchen Stapel starte und es nicht 100% korrekt ist.
Radek
@Radek Befinden sich beide tar-loader.jar im selben Verzeichnis "C: \ Users \ Public \ TestPro \ TestPro Automation Framework \"?
Serge
2

Wenn Sie "Java" in einem Konsolenfenster ohne Fehler ausführen können, dann

1) Erstellen Sie eine Textdatei auf Ihrem Desktop mit dem Namen 'taf.txt'

2) Geben Sie "java -Dlog.dir =% TEMP% -jar taf-loader.jar" in die Textdatei ein und speichern Sie diese

3) Benenne die Datei in 'taf.bat' um

Erledigt.

Die Verwendung eines Skript-Hosts zum Starten eines Skripts, das eine Shell startet, die ein Java-Programm startet, ist einfach zu langwierig.

Überlegen Sie, was Sie erreichen möchten - Sie möchten, dass das Programm mit einem Klick auf ein Symbol gestartet wird.

Die Batch-Datei ist der schnellste Weg, um dies auf win7 zu erreichen.

Wenn Sie ein Betriebssystem verwenden, mit dem ein JavaScript-Skript von Haus aus ohne Probleme gestartet werden kann, ist dies eine gute Möglichkeit, um es zu starten. Dieses Skript funktioniert jedoch nur unter Windows (es sei denn, ActiveX ist jetzt portiert - es ist schon lange her) Zeit, seit ich es benutzt habe).

Quelle: Professioneller Java-Entwickler seit über 10 Jahren

Alex
quelle
0

Mit Java 1.6 kann jrunscriptJavaScript auch außerhalb von Webbrowsern ausgeführt werden.

Umapathy Ravichandiran
quelle
Es ist nicht für Javascript (js) -Dateien gedacht: Es ist für Java-Skripte und (jetzt) ​​nicht in JRE enthalten.
08.03.18 Uhr