Felix: Aufrufen eine cmd Datei

Hallo,

lasse in JavaScript dynamisch eine .cmd Datei erstellen.
Diese soll dann automatisch aus dem Script geöffnet werden.

Die cmd Datei sieht z.B. wie folgt aus:

subst D: "C:/..."
hhc.exe xyz.hhp
subst D: /d

das öffnen aus JavaScript funktioniert (mittels location.href = "C:/xyz.cmd") , da ich eine Download Anweisung erhalte. Allerdings das weitere öffnen der hhc.exe streikt. Hat jemand eine Idee wie das funktioniern könnte ???

Vielen Dank für Eure Hilfe !!!

  1. Hallo Felix,

    lasse in JavaScript dynamisch eine .cmd Datei erstellen.
    Diese soll dann automatisch aus dem Script geöffnet werden.

    ich hoffe, das ist nur für dich zum eigenen Gebrauch?
    Gut, denn solche Sachen haben im Web nichts verloren.

    das öffnen aus JavaScript funktioniert (mittels location.href = "C:/xyz.cmd") , da ich eine Download Anweisung erhalte.

    Und du wählst dann "Datei von ihrem augenblicklichen Ort öffnen"?

    Allerdings das weitere öffnen der hhc.exe streikt. Hat jemand eine Idee wie das funktioniern könnte ???

    Allerdings ja. Um die Batchdatei (nichts anderes ist es ja) ausführen zu können, legt Windows eine Kopie in %temp% ab und startet diese. Du solltest dir also über die Pfadangaben _innerhalb_ der Batchdatei im Klaren sein.
    Das sollte dir weiterhelfen.  :)

    So long,

    Martin

    1. Hallo Martin,

      vielen Dank für die Antwort. Es handelt sich nur um eine lokale Anwendung!

      Also ich stehe etwas auf dem Schlauch...
      Der subst Befehl in der .cmd Datei funktioniert noch.
      Die zweite Zeile nicht mehr: Die HCC.exe, die durch den subst Befehl jetzt unter D:/ liegt. Sollte die jetzt in einem TEMP Ordner liegen  ? oder die .cmd Datei selber ? Allerdings klappt ja der erste Befehl....
      Rufe die .cmd Datei mit Doppelclick von Windows Explorer auf, funktioniert es auch einwandfrei..

      Danke für die Hilfe,

      Gruß Felix

      1. Hallo Felix,

        habe ich jetzt mehr Verwirrung als Klarheit gestiftet?

        vielen Dank für die Antwort. Es handelt sich nur um eine lokale Anwendung!

        das hatte ich mir irgendwie gedacht... :)

        Der subst Befehl in der .cmd Datei funktioniert noch.

        Na klar, da sind ja auch alle Pfadangaben absolut angegeben, da kann nichts schiefgehen.

        Die zweite Zeile nicht mehr: Die HCC.exe, die durch den subst Befehl jetzt unter D:/ liegt.

        So. Jetzt mal langsam. Mir ist noch nicht ganz klar, was du mit dem SUBST eigentlich erreichen willst. Kürzere Pfade? Na, eigentlich egal.
        Die Batchdatei liegt jedenfalls in dem Moment, wo sie ausgeführt wird, im TEMP-Verzeichnis. Wo liegt die hhc.exe? Den Pfad zu dieser exe-Datei solltest du sicherheitshalber absolut angeben damit Windows sie auch findet, und auch den Parameter xyz.php, den du übergibst. Andernfalls würde dein Windows annehmen, dass alle beteiligten Dateien ebenfalls im TEMP-Verzeichnis liegen müssten.

        Allerdings klappt ja der erste Befehl....

        Das SUBST? Ja klar, das ist ja auch nicht von irgendwelchen Verzeichnissen abhängig.

        Rufe die .cmd Datei mit Doppelclick von Windows Explorer auf, funktioniert es auch einwandfrei..

        Ja, das ist gut. Aber wenn du sie aus dem Browser aufrufst, liegt sie nicht mehr in dem Verzeichnis, wo du sie vermutest! Windows lädt die Batchdatei herunter, legt eine temporäre Kopie im TEMP-Verzeichnis an und startet sie genau dort. Nicht die Originaldatei, die meinetwegen in C:\Projekte\blah oder werweißwo liegt.
        Jetzt klarer?

        So long,

        Martin