netprogram
Goto Top

Programm über Batchdatei aufrufen und Parameter übergeben

Hallo, ich bin noch sehr neu auf dem Gebiet und bräuchte dringend eure Hilfe.

Also ich hab eine PHP Seite, welche mir über eine Batch-Datei(liegt mit auf dem Server) ein Programm auf dem Rechner aufruft. Soweit geht es ja, nur jetzt ist mein Problem, dass ich sich wechselnde IP-Adressen per PHP an die Batch-datei und von dort an das Programm übergeben will, damit dieses gleich damit arbeiten kann. Hab aber überhaupt keinen Plan wie. Mit $-Get['ip'] und auch $_POST['ip'] auf der PHp Seite habe ich es schon versucht, aber es hat nichts gebracht. Hab mich schon etwas reingelesen in der Parameterübergabe von Batchdateien, aber da kann man nur Variablen %1-%9 verwenden. Geht das dann auch mit diesen Punkten in der IP und wie kann ich was an die Batchdatei von PHP übergeben?
Bin echt ratlos....Hab schon stundenlang gegoogelt...

Danke im Vorab für eure Mühen!

Gruß,

netprogram

Content-Key: 164973

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

Printed on: April 18, 2024 at 15:04 o'clock

Mitglied: 99045
99045 Apr 20, 2011, updated at Oct 18, 2012 at 16:46:33 (UTC)
Goto Top
Hallo und willkomen im Forum.

Wenn du irgendwas, also z. B. eine IP-Adresse in Anführungszeichen übergibst, wird das als ein Parameter betrachtet.
Ein wenig Batch-Tutorial gefällig?

Workshop Batch for Runaways - Part I - Beispiel FindLongPath.Bat Bedenklich lange Pfade finden
Workshop Batch for Runaways - Part II - Ein bisschen Handwerkszeug

Gruß
Member: netprogram
netprogram Apr 20, 2011 at 12:34:11 (UTC)
Goto Top
Danke, bin da echt auf dem Schlauch gestanden, dass ich das als ein Parameter machen kann. Jetzt ist es mir auch klar. Schau mir das Tutorial an. Und wie übergebe ich einen Parameter (hier die IP) an die Batch-Datei?
Mitglied: 99045
99045 Apr 20, 2011 at 12:36:46 (UTC)
Goto Top
Vermutlich so, indem du die IP als zusätzlichen Parameter mit den Anführungszeichen in dein PHP-Run_irgendwas_Command einbaust. face-smile Zu PHP darfst du mich nicht fragen, ich habe mich nie damit beschäftigt, weil es mich nie interessiert hat.

Aber eins kann ich dir noch verraten: Eine IP würde zumindest von der Batchdatei auch ohne die Anführungszeichen als nur ein Parameter betrachtet, da der Punkt nicht als Parametertrenner, sondern als ganz normales Textzeichen behandelt wird.
Member: netprogram
netprogram Apr 20, 2011 at 12:42:20 (UTC)
Goto Top
Danke, Kaputtnick face-smile .
Dann Frage nochmal an alle. Also ich rufe die Batchdatei mittels eines Formulars auf, also

<button onclick = "document.aufrufname.submit();">
<? echo namedesButtons?>
</button>

// <form name='aufrufname' action="namederbatch.bat" method='request'> </form>

Wo kann ich hier dann die IP-Adresse mitgeben? das Problem ist halt auch das die IP-Adresse jedes Mal eine neue ist.
Member: Skyemugen
Skyemugen Apr 20, 2011, updated at Oct 18, 2012 at 16:46:33 (UTC)
Goto Top
Aloha,

hilft dir dieser Thread weiter? ...

greetz André
Member: netprogram
netprogram Apr 20, 2011 at 14:30:34 (UTC)
Goto Top
Hallo Skyemugen,

leider nicht wirklich... funktioniert nicht.

Gruß,
netprogram
Member: dog
dog Apr 20, 2011 at 19:41:45 (UTC)
Goto Top
<?php echo $_SERVER['REMOTE_ADDR'] ?>  

Die Frage hätte auch 15s Googlen beantwortet.
Member: netprogram
netprogram Apr 21, 2011 at 07:33:57 (UTC)
Goto Top
Hallo dog,

da geb ich es doch dann nur aus, oder? muss es ja doch mit dem Formular mitgeben....


stimmt auf die Idee mit Google kam ich noch gar nicht... *ironie**zwinker* wie gesagt bin noch recht neu bei PHP und weiß dann oft nicht recht was passt.
Member: netprogram
netprogram Apr 21, 2011 at 12:14:22 (UTC)
Goto Top
Also ich habs jetzt soweit, dass ich innerhalb meiner Batch Variablen definiert habe und diese an das Programm übergebe und das Porgramm dieses auch verwendet.

Also so: (natürlich abgeändert wegen den Werten)


::set variable=172
::echo %variable%
::Start "Titel" "C:\blaba\blabla.exe" "%variable%"

Geht soweit auch. Weiß jemand, wo ich jetzt in meinem PHP-Formular den IP-Werrt übergben muss und wie ich diesen im Batch auffange?
Mitglied: 99045
99045 Apr 21, 2011 at 12:25:12 (UTC)
Goto Top
Lass dir nicht alles vorkauen, sondern werde sebst mal aktiv.
Ausnahmweise: http://www.php.net/manual/de/function.exec.php
Member: netprogram
netprogram Apr 21, 2011 at 13:10:40 (UTC)
Goto Top
hallo Kaputtnick, soweit ich gelesen und auch versucht habe, geht das nicht, da ich die batch vom Client aus öffnen will und exec ist glaub ich nur vom Server aus möglich.
Member: netprogram
netprogram Apr 28, 2011 at 08:04:05 (UTC)
Goto Top
Also das mit dem Exec funktioniert nicht. da ich ja die auf dem Server liegende Batchdatei auf dem Client aufrufe und dort ausführen lasse.

1)Da wir gar nicht mehr weiterkamen,haben jetzt mein Kollege und ich einen ganz anderen Weg eingeschlagen. Wir versuchen gerade eine Batchdatei direkt aus PHP heraus zu erzeugen, welchem wir dort gleich die IP-Adresse als Text mitgeben und dann von PHP wieder gelöscht wird. Das wichtige ist halt, dass wir einen Button haben., von welchem dann erst das ganze in Gang gebracht wird, also die Funktion aufgerufen wird und die Batch erzeugt wird und anschließend die Batch aufruft. Also alles nur geschieht, wenn der Nutzer drauf klickt.

2)Es wäre immer noch der einfachste Weg, wenn man über das Formular des Buttons die IP-Adresse mitgeben könnte, welche dann die Batch auffängt und weiterverarbeitet. Der Batchaufruf würde soweit ja gehen. Nur kann ich nichts mitgeben (lokal in der Batchdatei mit einer dort festgelegten variable geht es ganz gut). Hab scho echt alles versucht, nur funktioniert keine meiner Mitgabeversuche. Geht das wirklich gar nicht?

weiß vielleicht noch jemand Rat? Danke bereits im Voraus für eure Mühen!

Gruß,
netprogram