Я пытаюсь выполнить bat-файл с путем в качестве ввода.Он работает без пробелов, но на удаленном сервере происходит сбой, когда в пути есть место.Он тормозит переменную в пробеле, а также экранирует символ обратной косой черты.Вот мой скрипт узла,
var SSH = require('simple-ssh');
var command = 'run.bat'
ssh = new SSH({
host: 'xxx.xxx.xx.xxx',
user: 'Administrator',
pass: 'password'
});
var var1 = "C:\Program Files\log"
ssh.exec(command, {
args: [var1],
out: function(stdout) {
console.log(stdout);
}
}).start();
И код моего файла run.bat моего удаленного сервера:
@echo off
echo %time%
echo %1
echo %2
exit /b
При выполнении этого сценария узла он выдает ниже вывод на локальной консоли.
D:\work\try>node test.js
21:46:21.94
C:Program
Fileslog
Это разбивает переменную var1 в пространстве и преобразует одну переменную в две, а также экранирует символ \.Пожалуйста, дайте мне знать, как решить эту проблему.Я также попробовал двойную обратную косую черту, но не повезло.
Большое спасибо заранее.