IPS muss als Systemdienst laufen. Sonst gibt es da noch ganz andere Fehlermeldungen
Hast mal meine Idee von hier ausprobiert? http://www.ip-symcon.de/forum/f52/batch-werte-ip-symcon-zurueckgeben-16218/
paresy
IPS muss als Systemdienst laufen. Sonst gibt es da noch ganz andere Fehlermeldungen
Hast mal meine Idee von hier ausprobiert? http://www.ip-symcon.de/forum/f52/batch-werte-ip-symcon-zurueckgeben-16218/
paresy
Den Befehl im Link habe ich probiert, jedoch kann ich die tftp.exe nicht ausführen, da diese angeblich nicht gefunden wird. Sieht so aus, als wenn dies IPS nicht ausführen darf. Auch nicht mit c:\windows ftp.exe.
string(87) "Der Befehl „tftp“ ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Ich muss doch noch mal fragen. Mittlerweile habe ich IPS auf Windows Home Server 2011 am Laufen. Da nun ein Server-OS habe ich mal irgendow gelesen, dass es immer eine ID 0 gibt, damit müßte dann doch IPS-ExecuteEx laufen. Aber auch hier nicht. Ist das doch ein Fehler von IPS?
IPS_Execute("C:/IP-Symcon-Daten/Hipath/abholen.bat", "", false, false);
Das soll ohne Benutzeranmeldung gehen. Bei mir aber auch nicht. Das direkt Ausführen der Batch funktioniert super. Nun soll das aber automatisch gehen, also ohne UND mit einer evtl. Benutzeranmeldung.
Hallo,
Ich versuche verzweifelt über IPS eine Batchdatei zu starten. Habe in der Doku den entsprechenden Befehl dafür gefunden. Wenn ich dieses Skript ausführe, passiert aber nichts.
IPS_Execute("C:\IP-Symcon\automatic est.bat", "", false, false);
Was mach ich hier falsch?
Welches Betriebssystem?
Was macht die batch?
Ist es evtl. interaktiv, dann IPS_ExecuteEx verwenden.
Besser immer Slashs (/) benutzen.
Ich habe auch vor einiger Zeit mal was mit Batches gemacht und mir anfangs ziemlich die Finger gebrochen weil (scheinbar) nix funktioniert hat. Ich kriege gerade nicht 100%ig zusammen, wie ich es gelöst habe, habe mich aber so ganz peu a peu rangetastet:
Zunächst mal ganz simple Sachen im Batch selbst gemacht, wie den aktuellen Pfad oder ein „Dir“ in eine Datei geschrieben. (dir >d:\dir.txt).
Dann kann man recht leicht sehen, ob zumindest die Batch gestartet wird.
Zum Laufen gebracht habe ich mein Zeugs mit
ips_execute( "cmd /c d:/ips/test.bat" , "" , false , true );
wobei es, glaub ich, Scherereien gibt, wenn das aufgerufene Batch dann wieder eine exe aufruft, die irgendwelche Standard-I/O’s bedient.
@Ferengi-Master:
Achja klar :o
Betriebssystem: WIN 7 Prof.
IPS-Version: 2.60 (10.9.2012 #2510)
Die Batchdatei soll vorerst mal nur das Command Fenster öffnen. Der Inhalt ist deshalb nur:
cmd
Wenn ich die test.bat manuell starte öffnet sich das Command Fenster. Wenn ich das Skript, indem die Datei ausgeführt werden soll, starte, passiert leider nichts. Habe es schon in allen möglichen Varianten probiert … sprich mit (/) und mit (). Auch der Befehl „IPS_ExecuteEx“ führt die Datei nicht aus.
@jwka:
Hab es auch mit deiner Variante versucht. Ergebnis leider negativ
Vielleicht so:
IPS_ExecuteEx("C:/IP-Symcon/automatic/test.bat", "", false, false, 2);
mit den Zahlen einfach mal spielen.
Gruß
Bruno
Mit dem Wert 0 und 1 führt er zwar das skript aus (benötigt übrigens auch knapp 4sek. dafür :eek:), aber es passiert nichts. Bei dem Wert 2 bekomme ich folgende Meldung:
Warning: There were no token found for specified session: 2 in C:\IP-Symcon\scripts\43876.ips.php on line 3
[0] in function IPS_ExecuteEx in C:\IP-Symcon\scripts\43876.ips.php on line 3
Das gleiche auch bei 3, 4 und 5 nur eben mit:
... specified session: 3 in ...
... specified session: 4 in ...
... specified session: 5 in ...
usw.
Habe mal ne Suchmaschine bemüht und etwas gespielt
Probier mal die batch-Datei so:
start "" "c:\windows\system32\cmd.exe"
exit
Gruß
Bruno
Hi Fred,
Wenn ich dein Beispiel in meine „test.bat“ Batchdatei schreibe und diese manuell ausführe, öffnet sich das Command Fenster. Versuche ich das Ganze über IPS mit IPS_EXECUTE wieder nichts
auf diese Weise nichts
IPS_Execute("C:\IP-Symcon\automatic est.bat", "", false, false);
und auf diese Weise nichts
IPS_Execute("C:/IP-Symcon/automatic/test.bat", "", false, false);
Habs jetzt mal Probehalber mit der Endung .cmd und .exe versucht -> negativ
Funktioniert das bei euch? Könnte das vielleicht mal jemand kurz testen :o
Wir waren bei IPS_ExecuteEX !!
Probiert hatte ich es und dann erst geschrieben :rolleyes:
Evlt. gibt’s einen einfacheren Weg als über einen Betriebssystemcall:
-> Aktiviere die CURL Extension von PHP
-> Nutze Curl um die Datei direkt mit TFTP abzuholen, da CURL TFTP unterstützt.
Probier’s mal.
Hab jetzt folgendes beobachtet:
Folgendes Skript wurde ausgeführt:
IPS_Execute("C:/IP-Symcon/automatic/test.bat", "", false, false);
in der test.bat steht …
start "" "c:\IP-Symcon\automatic ext.txt"
exit
… zum öffnen einer Textdatei. Starte ich die test.bat manuell, wird die Datei mit notepad geöffnet. Jetzt habe ich die Datei wieder geschlossen und das Skript ausgeführt. Ich hatte nebenbei den Taskmanager offen und unter „Prozesse“ mit „Prozesse aller Benutzer anzeigen“ gesehen, dass eine notepad.exe in der Liste dazugekommen ist
Also irgendwas wird ausgeführt, nur nicht korrekt :rolleyes:
Weiters habe ich den Test mit () und mit (/). Es müssen definitiv Slashes (/) sein, damit der Eintrag im Taskmanager erscheint …
@Fred: Ja ich weiß, dass das Thema IPS_ExecuteEX heißt. Ich hab mir gedacht, dass hier gut passen könnte um nicht einen weiteren Thread zu öffnen
EDIT:
!!! ERFOLGSMELDUNG !!!
Hab es jetzt mit IPS_ExecuteEx und den Slashes versucht …
IPS_ExecuteEx("C:/IP-Symcon/automatic/test.bat", "", false, false, 1);
```php
... und siehe da ... es funktioniert.
Danke Leute :D
So (/) oder so (\), aber nicht so ()
Mann, da ha ich ja was ins Rollen gebracht…
Habe meine Gebührensache nun anders gelöst: Die Anlage kann die Gesprächsdatensätze auch per TCP-Client loswerden. Also im IPS einen Server-Socket mit dem passenden Port angelegt. RegVar und Script angelegt. Nun wird nach jedem Gespräch der Datensatz an IPS gesendet und da nach definierten Kriterien zerlegt (Array) und in eine mySQL-DB geschrieben, um sie später gefiltert auszulesen und im Webfront anzeigen zu können.
PS: das Ausführen von externen Scripten
IPS_ExecuteEx("C:/IP-Symcon/automatic/test.bat", "", false, false, 1);[
geht leider immer noch nicht. Hatte noch Mal mit der IPS-Sicherung von Toni (PULSE) probiert, aber es will weiterhin nicht. Muss dazu sagen, ich bin nur sporadisch per RDP am Server angemeldet. Ansonsten nur per Client-PC. Sieht aber beim direkten Starten auch merkwürdig aus.