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-ID: 164973

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

Ausgedruckt am: 23.11.2024 um 02:11 Uhr

99045
99045 20.04.2011, aktualisiert am 18.10.2012 um 18:46:33 Uhr
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ß
netprogram
netprogram 20.04.2011 um 14:34:11 Uhr
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?
99045
99045 20.04.2011 um 14:36:46 Uhr
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.
netprogram
netprogram 20.04.2011 um 14:42:20 Uhr
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.
Skyemugen
Skyemugen 20.04.2011, aktualisiert am 18.10.2012 um 18:46:33 Uhr
Goto Top
Aloha,

hilft dir dieser Thread weiter? ...

greetz André
netprogram
netprogram 20.04.2011 um 16:30:34 Uhr
Goto Top
Hallo Skyemugen,

leider nicht wirklich... funktioniert nicht.

Gruß,
netprogram
dog
dog 20.04.2011 um 21:41:45 Uhr
Goto Top
<?php echo $_SERVER['REMOTE_ADDR'] ?>  

Die Frage hätte auch 15s Googlen beantwortet.
netprogram
netprogram 21.04.2011 um 09:33:57 Uhr
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.
netprogram
netprogram 21.04.2011 um 14:14:22 Uhr
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?
99045
99045 21.04.2011 um 14:25:12 Uhr
Goto Top
Lass dir nicht alles vorkauen, sondern werde sebst mal aktiv.
Ausnahmweise: http://www.php.net/manual/de/function.exec.php
netprogram
netprogram 21.04.2011 um 15:10:40 Uhr
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.
netprogram
netprogram 28.04.2011 um 10:04:05 Uhr
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