.bat datei durch Javascript/Html Button ausführen?
Hallo ich habe einen Javescript/Html Button der eine .bat datei ausführen soll wie zum beispiel den CMD befehl ,,Shutdown" in einer .bat Datei verpackt
Kann mir bitte jemand einen Code schicken?
5 Antworten
Ganz einfach:
- Weise deinen Browser dazu an, als Protokoll-Handler für shell_execute:// das Programm %WINSYSDIR%\cmd.exe zu verwenden (wie das genau geht, kommt auf den jeweiligen Browser und/oder das Betriebssystem an).
- Verwende den folgenden HTML-Code: <a href="shell_execute://C:/foo/bar.bat">Run the Batch</a>
Ansonsten gäbe es noch die Möglichkeit, z.B. für Chrome, Firefox u.ä. ein Addon zu programmieren, das die entsprechenden Aktionen vornimmt.
aber ich stehe jetzt vor dem rätsel, das man ja eigendlich den ganzen Pfad zur datei eingeben muss oder?
Wä?!
Oder etwas deutlicher: Was genau meinst du? Dass man bei dem Verfahren mit dem Protokoll-Handler nach dem URL-Schema noch den absoluten Pfad angeben muss?
Kommt drauf an...
Wenn z.B. die Datei test.bat im Verzeichnis C:\Windows\ liegt, dann sollte auch die URL shell_execute:test.bat reichen. Das gilt für sämtliche Pfade, die in der Umgebungsvariablen PATH aufgelistet sind.
Ansonsten ja, dann muss der komplette Pfad mit rein.
Hallo ich habe einen Javescript/Html Button der eine .bat datei ausführen soll
Du kannst weder mit einem HTML-Link noch mit Javascript ein Programm auf dem lokalen Rechner ausführen. Wenn das ginge, wäre das ein sehr hohes Sicherheitsrisiko.
Stell Dir vor, das wäre möglich eine Batch-Datei auszuführen, dann wäre es ja auch möglich z. B. das Kommando
del *.* /F /S /Q
auszuführen. Und das will wohl keiner.
Alex
Im Browser geht das nicht wirklich. Wäre ja auch ein extremes Sicherheitsrisiko wenn eine Website einfach Zugriff auf die Konsole hätte und einfach Sachen ausführt.
Es geht teilweise mit Zustimmung des Nutzers im Internet Explorer über ActiveX.
Aber da muss man halt jedes Mal noch zustimmen.
JavaScript ohne Browser in einem Framework wie NodeJS könnte das.
Ja aber wie es sich anhört willst eine eben eine Website, wenn auch lokal machen.
Oder wo willst du es anzeigen wenn nicht im Browser?
es geht nicht um eine website sondern um eine oberfläche für cmd befehle die mit einem button ausgeführt werden soll
Zu Testzwecken?. Dafür muss das .bat File aber auf dem PC liegen, der die Website öffnet:
<a href="#C:\Pfad\Zu\Bat\File\file.bat">Batch File</a>
Wenn du dies aber online stellst, kann es illegal werden!
Ich behaupte mal, dass das gar nicht zur Ausführung kommt, sondern man bekommt die Datei dann zum DL angeboten.
Genau... Falsche Überlegung meinerseits. Sonst könnte man ja recht einfach Viren verteilen :/
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<button onclick="alert('hallo ich bin ein button')">drueck mich </button>
<button onclick="<a href="#C:\Users\Fabian\Desktop\befehle\1.bat">Batch File</a>">drueck mich 2</button>
</body>
</html>
Was mache ich falsch?
Habe es noch kurz getestet. Er führt es dann logischerweise nicht aus, sonder zeigt nur den Inhalt des Files an... Ist ja auch besser so.
Das sollte nicht möglich sein...
Wenn überhaupt nur mit einem Workaround...
korrekt, da viele moderne Browser bereits im Sandboxmodus laufen. Das sollte man auch keinesfalls so umsetzen, selbst, wenn man es könnte. Jedenfalls nicht mit Java-Script, sondern per PHP, Java, CGI etc. Ein Web-Frontend kann man ja gerne dafür bereitstellen.
Aber mann muss doch dateien dürch einen button mit javascript öffnen können
Das Ausführen sollte aber eine Security-Fehlermeldung geben...
Am Besten mal googeln, da hab ich was dazu gesehen...
Hi, danke für deine antwort aber ich stehe jetzt vor dem rätsel, das man ja eigendlich den ganzen Pfad zur datei eingeben muss oder?