Powershell Cygwin копирует данные с помощью Rsync remote в качестве переменной

Powershell Cygwin копирует данные с помощью Rsync remote в качестве переменной

У меня проблема с rsync Cygwine. С помощью скрипта Powershell я пытаюсь перенести каталоги с сервера Novell на сервер Windows

Путь к источнику — это переменная, которая берется из 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

Если исходный путь в переменной не содержит пробелов, скрипт выполняется правильно, но если путь содержит пробелы, содержимое переменной будет проанализировано с кавычками, и выполнение скрипта прекратится, поскольку сеанс SSH получит «root@... как пользователь с кавычками в начале пользователя root, например так

"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

Как можно проанализировать переменную, чтобы игнорировать цитату из переменной скрипта?

решение1

Я использую Visual Studio Code, и код работает хорошо. Я думаю, что ISE IDE Powershell не интерпретирует кавычки правильно

Связанный контент