电子 - 网络路径无法找到

时间:2017-06-21 18:23:25

标签: javascript electron

我正在尝试使用网络路径在Electron中运行批处理文件。我正在使用的功能是:

    function cpSixHundred() {
  require('child_process').exec("file:\\\\LSC-SA-NAS1\\Departments\\Information Technology\\Software\\Zebra Label Printer Reset Counters", function(err, stdout, stderr) {
    if (err) {
      // Ooops.
      // console.log(stderr);
      return console.log(err);
    }

    // Done.
    console.log(stdout);
  });
}

我得到的错误是:

Error: Command failed: \\LSC-SA-NAS1\Departments\Information 
Technology\Software\Zebra Label Printer Reset Counterstest.bat
'\\LSC-SA-NAS1\Departments\Information' is not recognized as an internal or 
external command,
operable program or batch file.

据我所知,它不喜欢网络路径中的空间。我尝试过多种引号和字符串连接组合,但仍然没有运气。

提前谢谢你。

1 个答案:

答案 0 :(得分:1)

您需要使用单引号字符串并在文件路径周围加上双引号。

这个例子来自节点js文档:

https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback

exec('"/path/to/test file/test.sh" arg1 arg2');
//Double quotes are used so that the space in the path is not interpreted as
//multiple arguments

编辑:

如果可以的话,避免在函数调用中要求模块,它可能会减慢你的应用程序速度,而且大部分时间都是不好的做法。

// put all required modules on top of your page
var childProcess = require('child_process');

function cpSixHundred() {
   childProcess.exec('"file:\\\\LSC-SA-NAS1\\Departments\\Information Technology\\Software\\Zebra Label Printer Reset Counters"', function(err, stdout, stderr) {
      if (err) {
         // Ooops.
         // console.log(stderr);
         return console.log(err);
      }

      // Done.
      console.log(stdout);
   });
}