Как передать переменную с пробелами в скрипте? - PullRequest
2 голосов
/ 07 мая 2019

Я пытаюсь выполнить 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 в пространстве и преобразует одну переменную в две, а также экранирует символ \.Пожалуйста, дайте мне знать, как решить эту проблему.Я также попробовал двойную обратную косую черту, но не повезло.

Большое спасибо заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...