在节点js中执行进程

Execute Process in node js

我在 c# 中的代码工作正常,在我 UI automation.I 需要节点 js 中的等效代码期间在特定服务器框中运行作业。

ProcessStartInfo startinfo = new ProcessStartInfo();
            startinfo.FileName = string.Format("schtasks.exe");

            string command = string.Format(" /run /s {0} /tn \"{1}\"", "serverbox", "Jobname");
            startinfo.Arguments = command;
            startinfo.CreateNoWindow = true;//Not much important
            startinfo.UseShellExecute = false;//Not much important
            startinfo.WindowStyle = ProcessWindowStyle.Hidden;//Not much important
            Common.Log.Info("Executing Command - " + command);
            Process proc = new Process();
            proc = Process.Start(startinfo);

我在 node.js 中有以下代码会抛出“参数选项的值不正确”错误。

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)
});

};

字符串构造函数只接受一个参数。 您的错误在这里:

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

为避免错误,请使用名为 string templates:

的 javascript 功能
const command = ` /run /s "${serverbox}" /tn "${jobname}"`