JavaScript mit cmd.exe ausführen

5 Antworten

Du benötigst wie für alle anderen Scriptsprachen einen Interpreter bzw. Compiler. Wenn du eine Konsole öffnest und dort Befehle eingibst, erwartet dein Betriebssystem eine kompilierte, ausführbare Datei mit maschinenlesbarem Code drin. JavaScript ist allerdings Text.

 

Was du machen kannst, ist dass du deinen JavaScript-Code in etwas anderes konvertierst, wofür es Compiler gibt. Unter https://developer.mozilla.org/en/Rhino_JavaScript_Compiler (eines der ersten Google-Ergebnisse, wenn du nach JavaScript und Compiler suchst) wird ein Konverter angeboten, der deinen JavaScript-Code in Java-Code umwandelt (kein Plan, ob das funktionieren wird...). Java-Klassen kannst du mit der java.exe von der Konsole aus aufrufen.

 

ob das allerdings auch Sinn macht (JavaScript greift ja in der Regel auf Objekte deiner HTML-Seiten zu, davon gibt es in der Regel auf der Konsole keine), sei allerdings mal dahin gestellt. Wenn du 'n einfachen alert ausgeben willst, geht das sicher auch mit VB-Script oder dergleichen. Da bringt Windows 'nen Interpreter gleich mit (zu finden unter "Windows Scripting Host" in der Systemsteuerung / Software / Windows-Komponenten).

Du kannst unter Windows das .js File mit 2 Interpretern aufrufen. CScript.exe ist Textbasiert und WScript.exe läuft in einem Fenster. Öffne eine Command-Box und gib Cscript oder Wscript ein und die Hilfe zu den Programmen erscheint.

Was willst du mit dem öffnen einer .js Datei bezwecken?
Die Funktion von denen ist ja meistens auf ein HTML Dokument zugeschnitten.

Vielleicht den Datentyp mit einem Programm assoziieren?

Oder die Dateiendung .htc verwenden?

Vielleicht gibt es auch eine Möglichkeit, ein Programm zu öffnen und den Dateipfad als Parameter zu übergeben..

sowas wie

> start notepad -"%userfiles%\webdev\script.js" (is nur ne idee.. ich hab kp mehr von batch und dem krams.. :P )

JavaScript ist eine Script-Sprache für den Browser.  Mir fällt auch gerade nichts ein, was ich mit einem JavaScript auf der Console ausführen will?

Beschreib doch mal wozu das ganze gut sein, soll, dann denke ich nochmal drüber nach!

 

 


Skarmory 
Fragesteller
 10.05.2011, 19:54

Wenn ich nen Rechtsklick auf eine js-Datei mache, kann ich "Oeffnen mit Eingabeaufforderung" auswaehlen, wenn ich das mache fuehrt er die Datei aus. Der Inhalt der Datei ist folgender:

 

var Shell = new ActiveXObject("WScript.Shell");
    Shell.Run('programm.exe', 0);

Die soll mir ein Konsolenprogramm im Hintergrund starten, sodass da nicht permanent ein schwarzes Fenster ist. Nun soll das allerdings bei Systemstart automatisch passieren, daher moechte ich gerne wissen wie dieses "Oeffnen mit Eingabeaufforderung" funktioniert.

Wenn das auch anders bzw. einfacher geht, fuer Hinweise waere ich dankbar.

0
Flugmaus  13.05.2011, 22:36
@Skarmory

Das was Du da hast ist ein Trick, um eine Datei über die Eingabeaufforderung auszuführen, dabei aber das Fenster von der Eingabeaufforderung zu schließen.

Mit einer normaler JavaScript-Datei hat das nichts zu tun.

Entweder schaffst Du es aus der programm.exe einen Dienst zu machen oder Du verwendest ein Tool, welches das erledigt, z.B.

http://www.pirmasoft.de/runassvc.php

0

Also ich weiß nicht, was das genau bringen soll. Allerdings sollte das mit start cmd.exe deinscript.js gehen.