quba
Goto Top

Variable von HTML Formular an Batch übergeben

Hallo zusammen,

habe mal wieder eine Frage.
Und zwar, ist es möglich ein HTML Formular zu erstellen, das ein Textfeld beinhaltet, welches beim senden den eingegebenen Inhalt des Textfeldes an eine BatchDatei übergibt?

Bin da irgendwie nicht zurecht gekommen, denn wenn ich zum test das Formular so abschicke

<form action="test.bat ads" method="post" enctype="text/plain">

passiert nichts. Seite nicht gefunden.

Kann mir jemand sagen, ob dies überhaupt irgendwie möglich ist.
Wie gesagt, Ziel soll sein den Inhalt des Feldes an eine Batchdatei zu übergeben.

Danke und Gruß
quba

Content-ID: 40987

Url: https://administrator.de/contentid/40987

Ausgedruckt am: 08.11.2024 um 11:11 Uhr

filippg
filippg 27.09.2006 um 12:44:05 Uhr
Goto Top
Hallo,

grundsätzlich kannst du einen Webserver (je nachdem welchen) schon so konfigurieren, dass er eine angefragte Datei ausführt und dazu den Request an sie weiterleitet und ihre Ausgabe an den anfragenden Client senden. Dann übergibt er aber afaik nicht nur schön formatierte Felder, sondern man bekommt die gesamte Anfrage übergeben und muss daraus die Daten extrahieren, und später auch wieder eine korrekte Antwort erzeugen, eher aufwendig.
Ganz leicht geht's mit PHP: exec ("myBat abc") (wegen der kleinen Feinheiten dabei solltest du dir nochmal die Doku anschauen).

Filipp
quba
quba 27.09.2006 um 14:50:23 Uhr
Goto Top
Hi,
danke der Antwort.
Der Befehl exec führt ja soweit ich weiß, direkt auf dem Webserver das gewünschte Script aus. Demnach wird das ja quasi Serverseitig ausgeführt.
Ich will aber, dass ein Skript aufgerufen wird und die Aktionen im Skript beim Client ausgeführt werden.

Wie kann ich das realisieren?

Danke und Gruß
quba
11078
11078 27.09.2006 um 15:09:58 Uhr
Goto Top
Hallo,

in einer Webumgebung zu batchen ist eher ungewöhnlich. Client-seitige Scriptsprachen für die Webumgebung sind Javascript oder VBscript. Wenn die Webseite mit dem Betriebssystem interagieren soll (was ich im Web für extrem gefährlich halte), dann wohl eher VBscript - dies allerdings auch nur im Internet Explorer!

Was willst Du denn genau machen?


Gruß,
Tim
quba
quba 27.09.2006 um 15:37:25 Uhr
Goto Top
Danke der Antwort,

und zwar will ich die administration hier in unserem Firmennetz erleichtern.
Wenn ein Admin bei einem User einen Netzwerkdrucker installieren soll, will ich eine "Admin-Webpage" erstellen auf dem der Admin in einem Textfeld den Sharename des Druckers eingeben kann (Die Seite wird vom Client-PC aus aufgerufen) und dann das entsprechende Skript zum Drucker verbinden auf dem Client ausgeführt wird. (con2prt)

Ein etwas ungewöhnlicher Wunsch, aber wenn das möglich wäre, wäre das schon was.
(Meinem Vorgesetztem schwebt so etwas vor face-wink )

Gruß
quba
11078
11078 27.09.2006 um 15:58:10 Uhr
Goto Top
Hallo,

wie schon gesagt, da bleibt wohl nur eine Microsoft-Scriptsprache face-smile

Habe hier ein Beispiel für JScript (das ist nicht Javascript, sondern die Microsoft-Implementierung von Javascript, die einen größeren Funktionsumfang als Javascript hat und in Sachen "Was kann ich alles anstellen" auch viel schlimmer ist):

http://sniplets.anaboe.net/jscript02.html


Im Beispiel wird als Option ein Dateiname übergeben, bei Dir sollte es ja eher ein Eintrag in einem Formularfeld sein. Ich hab jetzt gerade nicht so recht Zeit mir etwas zusammenzubasteln, aber so sollte es ungefähr gehen:

1. Kopf des Formulars:
<form name="drucker_share" onsubmit="return startskript()">

2. Eingabefeld im Formular
<input name="sharename" type="text" />

3. JScript

function OpenNotepad(datei) {
  try {
    var WshShell = new ActiveXObject('WScript.Shell');  
  }
  catch(e) {
    return true;
  }
  
  var sharename = document.drucker_share.sharename.value
  

  var fullPath = 'con2prt ' + sharename;  
  var oExec = WshShell.Exec(fullPath);
  while (oExec.Status == 0)
  {
    WScript.Sleep(100);
  }
  WScript.Echo(oExec.Status);
  return false;
}


Wie gesagt, keine Ahnung, ob es so exakt funktionieren wird, aber es sollte ein Ansatz sein!


Gruß,
Tim