NEWS
Skript EXEC geht nicht
-
@namrenner sagte in Skript EXEC geht nicht:
@bananajoe
Danke, leider habe ich wenig Erfahrung, wie mache dies nun?Was komisch ist, wenn ich per Skript in js, kommt nichts, per blockly, ist die Datei test.txt da, aber der Befehl geht nicht.
Probiere mal das im JS aus:
exec('cmd.exe /c dir c:\\temp >c:/temp/test.txt', function(err, stdout, stderr) { if (err) { log(err,'err'); log(stderr,'stderr'); log(stdout,'stdout'); return; } });
Bei mir wird hier eine Datei mit dem Inhalt des Ordners angelegt. Das Problem scheint der Parameter start im Befehl "exec('cmd.exe /c start" zu sein. Sobald ich diesen Parameter mit benutze, hängt sich der cmd Process auf und kann nur noch über den Task gekillt werden.
-
@sokomoto said in Skript EXEC geht nicht:
cmd.exe /c dir c:\temp >c:/temp/test.txt
Hallo, danke, so ging es nicht.
Aber so geht es:exec('cmd.exe /c dir "c:/temp" >c:/temp/test.txt', function(err, stdout, stderr) { if (err) { log(err,'err'); log(stderr,'stderr'); log(stdout,'stdout'); return; } });
-
psshutdown geht nicht, Datei leer und kann auch nicht mehr die Datei löschen.
Beim aktivieren steht:
javascript.0 (22836) script.js.Haus.Skript_1: Unknown severity level "err" by log of [Error: Command failed: cmd.exe /c psshutdown >c:/temp/test3.txt Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. ]scheint das die ganze Zeit was versucht, wie bekomme dies beendet?
-
@bananajoe
das Problem ist, der Benutzter ioBroker gibt es nicht in Windows. -
Habe nun ioBroker auf mein Systen Benutzter Dienst gestartet, nun geht es, aber
wieder ein anderer Fehler mit:exec("psshutdown -r \\192.168.1.2", function(err, stdout, stderr) { if (err) { log(err,'err'); log(stderr,'stderr'); log(stdout,'stdout'); return; } });
javascript.0 (4084) script.js.Haus.Skript_1: Unknown severity level "err" by log of [Error: Command failed: psshutdown -r \192.168.1.2 ]
Problem ist das er nicht "\\192.168.1.2" an nimmt, sondern \192.168.1.2, wie kann dieses Problem lösen?
-
@namrenner
\
ist ein Escape-Zeichen in Javascript. Du must\\\\
schreiben, um zwei\\
zu erhalten. -
@namrenner sagte in Skript EXEC geht nicht:
psshutdown geht nicht, Datei leer und kann auch nicht mehr die Datei löschen.
Beim aktivieren steht:
javascript.0 (22836) script.js.Haus.Skript_1: Unknown severity level "err" by log of [Error: Command failed: cmd.exe /c psshutdown >c:/temp/test3.txt Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. ]scheint das die ganze Zeit was versucht, wie bekomme dies beendet?
Das geht nur über den Taskmanager...
...da hängt der cmd process.
-
@alcalzone danke, nun geht es
-
Also es funktioniert jetzt?
Wenn ich so drüber nachdenke hatten wir beim letzten mal unter Windows glaube ich den ioBroker-Dienst unter einen anderem Benutzer starten lassen, also dem Anmeldebenutzer -
@bananajoe ja, Danke