var exec = require('child_process').exec
var cmd = 'C:\\Users\\Johnny Cash\\Desktop\\executeme.exe'
exec(cmd, function(e, stdout, stderr) {
console.log(e);
console.log(stdout);
console.log(stderr);
});
' C:\用户\约翰尼'不被视为内部或外部命令
这必须是有史以来最新的问题,但如何在窗户上使用空格来逃避这些路径?它在太空中被切断,我所做的一切(预先单人或双人逃跑)似乎都可以解决问题。 exec()
做了一些我不知道的格式吗?
答案 0 :(得分:5)
exec
将command
参数字符串中的任何空格视为参数分隔符,因此您需要对整个路径进行双引号,以将其全部视为要运行的命令的路径:
var cmd = '"C:\\Users\\Johnny Cash\\Desktop\\executeme.exe"'
但是,仅使用execFile
可能更简洁,因为其file
参数始终被视为文件路径,并带有单独的args
参数。那么你应该能够省略双引号包装。 execFile
无论如何都有点精简,因为它不像exec
那样执行子shell。
答案 1 :(得分:0)
您需要使用^
(插入符号)字符来掩盖URI中的空格字符:
var cmd = 'C:\\Users\\Johnny^ Cash\\Desktop\\executeme.exe'