frankx: hta wshScript.Shell command line

Hallo,

mit

  
  wshShell = new ActiveXObject("WScript.Shell");  
  wshShell.Run("firefox.exe");  
  
  var WshShell = new ActiveXObject("WScript.Shell");  
  var oExec = WshShell.Exec("calc");  

lassen sich mit .Run ein Progamm aufrufen und .Exec eine commandline Befehl. Mit zweiterem funktioniert "copy a.txt b.txt" aber nicht. Weiß jemand, wie das geht?

Issich jscript in .hta Datei

Dank Frankx

  1. Hallo,

    mit wshShell.Run("cmd.exe /c 'copy a.txt b.txt'") gehts.

    Gruß, frankx

    Ps. weiß jemand, warum es nicht direkt geht?

    1. Hallo frankx,

      mit wshShell.Run("cmd.exe /c 'copy a.txt b.txt'") gehts.

      das hätte ich auch vorgeschlagen.

      Ps. weiß jemand, warum es nicht direkt geht?

      Das liegt doch auf der Hand: "copy" ist ein soganannter interner Befehl, der direkt vom Code von cmd.exe interpretiert und verarbeitet wird. Dieser Befehl korreliert nicht mit einer ausführbaren Datei und kann deswegen aus anderen Applikationen nicht direkt aufgerufen werden. Stattdessen muss man immer cmd.exe starten und ihm die gewünschte Kommandozeile mitgeben.

      Dasselbe gilt für die Kommandos dir, ren, del, md/rd, und einige andere.

      Schönen Tag noch,
       Martin

      --
      Ist die Katze gesund,
      freut sich der Hund.