Powershell Cygwin copia datos con Rsync remoto como variable

Powershell Cygwin copia datos con Rsync remoto como variable

Tengo un problema con el rsync de Cygwine. Con un script de Powershell estoy intentando transferir directorios desde un servidor Novell a un servidor Windows

La ruta de la fuente es una variable que proviene de un archivo 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

Si la ruta de origen en la variable no contiene un espacio en blanco, el script se ejecuta correctamente, pero si la ruta contiene un espacio en blanco, el contenido de la variable se analizará entre comillas y el script dejará de ejecutarse porque la sesión SSH recibe "root@. .. como usuario con comillas al principio del usuario raíz como este

"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

¿Cómo puedo analizar una variable para ignorar la cita de la variable de secuencia de comandos?

Respuesta1

Utilizo Visual Studio Code y el código funciona bien. Creo que el ISE IDE de Powershell no interpreta las comillas correctamente

información relacionada