IPS_Execute funktioniert mit Leerzeichen nicht mehr?

Hallo,

ich habe mehrere Skripte mit IPS_Execute im Einsatz.
Diese liefen bisher auch einwandfrei, seit IPS4 (evtl. auch seit Windows10?) werden sie nicht mehr ausgeführt.

Beispiel:
IPS_Execute(„c:/program files/batches/Dienst neu starten.cmd“,"",true,true);

Wenn ich die Batch so umbenenne, dass kein Leerzeichen im Pfadnamen und Dateinamen mehr vorkommen funktioniert es jedoch. Woran kann das liegen?

Danke!

Moin!

Mal von dem Problem mit Leerzeichen abgesehen > Leerzeichen und Sonderzeichen sind an solchen Stellen NIE eine gute Idee und sollten vermieden werden! Früher oder später hat man mit sowas immer Probleme.

Grüße,
Chris

War noch ein Fehler. Fix im nächsten Update.

paresy

Das hier hat vorher funktioniert

Mann… der Editor zeigt das Codestück nach dem direkten Einfügen verständlicherweise falsch an… musste noch korrigieren. So sieht es aus

$dienst=IPS_Execute("sc.exe", "query \"SEH UTN Service\"", false, true);

Geht nun nicht mehr… also $dienst ist leer. Die gleiche Zeichenfolge (sc query „SEH UTN Service“) im cmd passt und gibt den Dienstwert zurück. Oder ein anderer Logikfehler bei mir?

Gruss

Kann ich für die 4.0 bestätigen. Diese Zeile zeigt das selbe Verhalten. IPS_Execute mag offenbar keine Anführungszeichen.

echo IPS_Execute("sc.exe", '"query Pml Driver HPZ12"', false, true);

Ich glaube der Servicename sollte, im Gegensatz zum Displayname, auch keine Leerzeichen enthalten. Musste lange suchen bis ich auch so ein Beispiel zum Testen finden konnte. Das ist eigentlich einfach nur schlecht programmiert. Daran werden wir aber nichts ändern können :frowning:

Nichts desto trotz solltest du dafür einen Fehler im Bug-Tracker melden. Kann ja auch mal einen ungünstig benannten Pfad betreffen oder so.

Gruß,

Toni

Haj Toni hab dich schon ewigs nicht mehr gelesen… hoffe geht dir gut und alles ist wieder so wie es sein sollte!? Jo habs mal im Bugtracker gelistet, muss mich an das Teilchen etwas gewöhnen.

Mir gehts prima. Hab mich nur in letzter Zeit mehr um Dinge gekümmert, die auch ein bisschen Geld in die Kasse spülen. :wink:

:wink: macht auch Sinn, find es schade das so wenige den Spendebutton bei dir gefunden hatten. Dein neues Projekt ist lässig. Werd das Dos-IPS mal ausprobieren. Muss nur zuerst mal die neue Ips-Version stabil kriegen.

Gesendet von iPhone mit Tapatalk

Ich benutze

IPS_Execute("shutdown", "/r /t 0", false, false);

zum Neustart des Systems. In der aktuellen Testversion von 4.10 vom 15.8. kommt nun eine Warnung:

 Warning: File does not exist
   Error in Script C:\IP-Symcon\scripts\Server rebooten.ips.php on Line 30

und das Kommando wird nicht mehr ausgeführt. Gelten neue Regeln, oder ist es ein Bug?

Gruß

Burkhard

Es wird der vollständige Pfad erwartet. Ich glaube, dies war in der 3.4 auch so, und wir haben dies entsprechend angepasst.

paresy

ok, mit

IPS_Execute("c:/windows/system32/shutdown.exe", "/r /t 0", false, false);

funktioniert es jetzt wieder.

Gruß

Burkhard