如何在脚本中使用空格传递变量?

时间:2019-05-07 16:22:26

标签: node.js batch-file ssh openssh

我正在尝试使用路径作为输入来执行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变量,并将一个变量转换为两个变量,并且转义了'\'字符。请让我知道如何处理此问题。我也尝试过双反斜杠,但没有运气。

非常感谢。

0 个答案:

没有答案