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