2017-05-18 6 views
-1

Ich habe Code in C# gut funktioniert, die einen Job in einer bestimmten Server-Box während meiner UI-Automatisierung ausgeführt wird. Ich brauche gleichwertigen Code in Knoten js.Execute Process in Knoten js

Ich habe unter Code in node.js, die "Falscher Wert von Argumenten Option" Fehler wirft.

function executeProcess() { 
    var command = new String(" /run /s {0} /tn \"{1}\"", "serverbox", "jobname"); 
    exec(command, function (err, stdout, stderr) { 
    console.log("Running job"); 
    callback(err, stdout, stderr, data) 
}); 

};

+0

https://github.com/tjanczuk/edge –

Antwort

1

String-Konstruktor benötigt nur ein einzelnes Argument. Ihr Fehler ist hier:

var command = new String(" /run /s {0} /tn \"{1}\"", "serverbox", "jobname"); 

Um Fehler zu verwenden JavaScript-Funktion string templates genannt zu vermeiden:

const command = ` /run /s "${serverbox}" /tn "${jobname}"` 
+0

Befehl var = new String ('/ run/s $ {"serverbox1"}/tn $ {"job1"} '); exec (Befehl, Funktion (err, stdout, stderr) { console.log ("laufender Job"); Rückruf (Fehler, Stdout, Stderr, Daten) }); Immer noch bekomme ich "Fehlerhafter Wert von Argumenten Option" error.In diesem wo kommt schtasks.exe? Wie sollte ich das in diesen Code aufnehmen? Bitte antworten Sie mit vollem Code, da ich neu bei Knoten js bin. – Nalu

+0

Warum willst du 'neue String'? Verwenden Sie einfach ''. –

+0

Beginnen Sie einfach mit etwas Einfachem wie 'const a = 'qweqwe'; exec (\ echo $ {a} \ ', Rückruf)'. Erhöhen Sie dann die Komplexität Ihres Befehls, um den benötigten Prozess auszuführen. Und Sie können 'console.log (str)' oder 'console.dir (obj)' verwenden, um Ihre Werte zu überwachen. Alle Argumente gehen in den 'command', da es in nodejs keinen 'Process.Start (startinfo)' gibt. –