bensonhedges
Goto Top

Powershell: Aufruf robocopy mit Parameter

Hallo,

ich bin Powershell-Neuling und habe ein Problem mit der Übergabe von robocopy-Optionen in einer Variable:


...
$Options = "/COPYALL /R:0 /W:1""
robocopy.exe "\\$SrcHost\$SrcDir\" "$DstDir\" $Options /L /LOG:$LogPath
...

Problem dabei: Es gibt einen Syntax Fehler bei der Übergabe der Variable an robocopy.
Habe ich bei den Optionen nur $Options= "/COPYALL" stehen, funktioniert der Aufruf.

Nutze ich direkt die Optionen ohne die Variable, funktioniert der Aufruf ebenfalls.

Ich tippe mal, dass es Probleme mit mehreren Slashes innerhalb der Variable gibt.

"/COPYALL \/R:01 \W:1" funktioniert allerdings auch nicht...

Danke für einen Tipp!

BB,
Benson

Content-Key: 286921

Url: https://administrator.de/contentid/286921

Printed on: April 24, 2024 at 17:04 o'clock

Mitglied: 114757
114757 Oct 28, 2015 updated at 12:22:12 (UTC)
Goto Top
Moin Benson,
das kommt daher das die PS mit der Variablen $options robocopy Quasi nur einen einzelnen Parameter mitgibt der so lautet '/COPYALL /R:01 /W:1' und einen solchen einzelnen Parameter gibt es nicht ! Das kannst du umgehen indem du die Parameter in ein Array schreibst
Beispiel:
$options = @('/L','/COPYALL','/R:2','/W:2')  
robocopy.exe 'C:\quelle' 'C:\ziel' $options  

oder die Variante start-process nimmst
start-process 'robocopy.exe' -Argumentlist '"C:\Quelle" "C:\ziel" /L /COPYALL /R:01 /W:1' -Wait  
Gruß jodel32