NEWS
[gelöst] Exec Befehl funktioniert nicht mehr
-
@ben1983 Was sagt denn beim Ausführen das globale Log?
Im JavaScript-Adapter ist der Haken bei "exec" noch drin?Als welcher Benutzer wird ioBroker ausgeführt? Hat dieser Benutzer rechte auf den Ordner?
und da es nach Windows aussieht - gibt an der Stelle doch mal den ganten Pfad ein, also inklusive Laufwerksbuchstaben etc.
Und vielleicht mit der cmd.exe, alsocmd.exe /c D:\BatFiles\CopyTest.bat
Ist jetzt nur geraten, mach zwar viel mit Windows aber ioBroker läuft dann doch unter Linux in einer VM
-
@bananajoe
Im Log steht bei meiner Version nichts und bei deiner Version das hier:javascript.0 (5364) script.js.Alexa.Routinen: {'killed':false,'code':1,'signal':null,'cmd':'cmd.exe /c C:BatFilesCopyTest.bat'}
-
@ben1983 müssen die \ eventuell "escaped" werden?
wie es aussieht fehlen die ja.Ersetz die mal durch jeweils doppelte.
-
@bananajoe Jetzt wird keine Fehlermeldung mehr ausgegeben,
aber es passiert genauso wenig wie mit meiner altern Version. --> Nichts. -
Nimm mal als Befehl
cmd.exe /c echo C:\BatFiles\CopyTest.bat >nureintest.txt
danach musst du mal suchen wo er die nureintest.txt angelegt hat, eventuell im ioBroker JavaScript Verzeichnis.
In der Datei sollte dann C:\BatFiles\CopyTest.bat stehen - oder auch nicht. Damit könnte man den genauen Befehl ausklingen bzw. sehen was denn überhaupt ankommt. -
@bananajoe said in Exec Befehl funktioniert nicht mehr:
cmd.exe /c echo C:\BatFiles\CopyTest.bat >nureintest.txt
Er hat die Datei direkt im ioBroker Verzeichnis angelegt
-
@ben1983 sagte in Exec Befehl funktioniert nicht mehr:
@bananajoe said in Exec Befehl funktioniert nicht mehr:
cmd.exe /c echo C:\BatFiles\CopyTest.bat >nureintest.txt
Er hat die Datei direkt im ioBroker Verzeichnis angelegt
Und was steht drin?
Das erstellen der Datei ist schon mal ein Beweis das es überhaupt funktioniert -
@bananajoe ich habe es mit doppelten Backslash eingetragen und dann steht das drin
C:\BatFiles\CopyTest.bat
Aber er ruft diese datei nicht auf. / Bzw. wenn ich die datei eigenhändig anklicke geht es, aber aus dem skript heraus nicht.
-
@ben1983
lass ihn mal (hinter cmd.exe /c ) statt des echo Befehls folgendes ausführen:whoami
wieder mit Umleitung in die Textdatei
-
@bananajoe said in Exec Befehl funktioniert nicht mehr:
whoami
ergebnis:{'killed':false,'code':1,'signal':null,'cmd':'cmd.exe /c whoami C:\\BatFiles\\CopyTest.bat >nureintest.txt'}
-
cmd.exe /c whoami >testwhoami.txt
whoami sollte ausgeben als welcher Benutzer das Skript ausgeführt wird.
-
@ben1983 Ohne den Befehl meiner Datei steht folgendes in der Datei:
nt service\iobroker(smarthome)
-
@ben1983 sagte in Exec Befehl funktioniert nicht mehr:
@ben1983 Ohne den Befehl meiner Datei steht folgendes in der Datei:
nt service\iobroker(smarthome)
so, und dieser Benutzer führt deine Batchdatei aus.
Hat der genügend Rechte dafür? Und auch die Rechte alles zu tun was in der Batch steht? -
Du könntest auch hinter deinen Batchbefehl auch so eine Umleitung in eine Textdatei setzen, dann könntest du eventuelle Fehlermeldungen lesen
-
@bananajoe Es gibt aber keinen Benutzer Service. ??? Es gibt an diesem Rechner nur einen User und das bin ich.
und ich bin als Admin deklariert. -
@ben1983 Bist du da eigentlich auf einem Linux oder Windows unterwegs?
-
@thomas-braun WINDOWS würde ich anhand der Pfadangaben usw. mal vermuten.
-
@ben1983 sagte in Exec Befehl funktioniert nicht mehr:
@bananajoe Es gibt aber keinen Benutzer Service. ??? Es gibt an diesem Rechner nur einen User und das bin ich.
und ich bin als Admin deklariert.Schau mal unter Dienste unter welchem Benutzer der iobroker Dienst läuft. whoami wird das schon richtig ausgeben.
-
@wendy2702
Ich bin irritiert.
whoami ist doch ein Linux-Ding. Gibt's den auch unter Windows? -
@thomas-braun sagte in Exec Befehl funktioniert nicht mehr:
@wendy2702
Ich bin irritiert.
whoami ist doch ein Linux-Ding. Gibt's den auch unter Windows?Ja, gibt es.