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-ID: 286921

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

Ausgedruckt am: 22.11.2024 um 22:11 Uhr

114757
114757 28.10.2015 aktualisiert um 13:22:12 Uhr
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