Powershell Cygwin copia dados com Rsync remoto como variável

Powershell Cygwin copia dados com Rsync remoto como variável

Estou com um problema com o rsync do Cygwine. Com um script Powershell, estou tentando transferir diretórios de um servidor Novell para um servidor Windows

O caminho da fonte é uma variável que vem de um arquivo CSV

Function CopyRsync ([string]$source,[string]$dest){   
        $sourceRoot = "root@"+$source +"/"        
        $dest = "/cygdrive/g/Shares/" +$dest

cmd.exe /C "e:\cwRsync\bin\rsync.exe" -vrts --progress --whole-file --no-compress --no-checksum  -e "/cygdrive/e/CWrsync/bin/ssh" $sourceRoot $dest --delete-before         
    }

$novel = 'server.domaine.local:/media/nss/rep01/Com/Com dir Soins info'
$dfs = "C:\temp\Rsync"
CopyRsync -source $novel -dest $dfs

Se o caminho de origem na variável não contiver um espaço em branco, o script será executado corretamente, mas se o caminho contiver um espaço em branco, o conteúdo da variável será analisado entre aspas e o script parará de ser executado porque a sessão SSH receberá "root@. .. como usuário com aspas no início do usuário root assim

"E:\cwRsync\bin\rsync.exe" -vrts --progress --whole-file --no-compress --no-checksum -e /cygdrive/e/CWrsync/bin/ssh "[email protected]:/media/nss/rep01/Com/Com dir Soins info/" /cygdrive/g/Shares/C:\temp\Rsync --delete-before

Como posso analisar uma variável para ignorar a citação da variável de script?

Responder1

Eu uso o Visual Studio Code e o código funciona bem. Acho que o ISE IDE do Powershell não está interpretando aspas corretamente

informação relacionada