У меня проблема с rsync Cygwine. С помощью сценария Powershell я пытаюсь перенести каталоги с сервера Novell на сервер Windows.
Путь к источнику — это переменная, полученная из CSV-файла.
Функция CopyRsync ([string]$source,[string]$dest){
$sourceRoot = "корень@"+$источник +"/"
$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.domain.local:/media/nss/rep01/Com/Com dir Soins info'
$dfs = "C:\temp\Rsync"
CopyRsync - источник $ роман - место назначения $ 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] .local:/media/nss/rep01/Com/Com/Com каталог Soins info/" /cygdrive/g/Shares/C:\temp\Rsync --delete-before
Как я могу проанализировать переменную, чтобы игнорировать цитату из переменной сценария?