Powershell Cygwin kopiert Daten mit Rsync Remote als Variable

Powershell Cygwin kopiert Daten mit Rsync Remote als Variable

Ich habe ein Problem mit Cygwines rsync. Mit einem Powershell-Skript versuche ich Verzeichnisse von einem Novell-Server auf einen Windows-Server zu übertragen

Der Pfad zur Quelle ist eine Variable, die aus einer CSV-Datei stammt

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

Wenn der Quellpfad in der Variable kein Leerzeichen enthält, wird das Skript korrekt ausgeführt. Wenn der Pfad jedoch ein Leerzeichen enthält, wird der Inhalt der Variable mit Anführungszeichen analysiert und das Skript wird nicht mehr ausgeführt, da die SSH-Sitzung „root@... als Benutzer mit Anführungszeichen am Anfang des Benutzers root empfängt, wie folgt

"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

Wie kann ich eine Variable analysieren, um das Zitat aus der Skriptvariable zu ignorieren?

Antwort1

Ich verwende Visual Studio Code und der Code funktioniert gut. Ich denke, die ISE IDE von Powershell interpretiert Anführungszeichen nicht richtig

verwandte Informationen