Powershell con Robocopy (o cómo el # $ (* y ¿paso los argumentos correctamente?)
Estoy tratando de escribir un script que use robocopy. Si solo estuviera haciendo esto manualmente, mi comando sería:
robocopy c: \ hold \ test1 c: \ hold \ test2 test.txt / NJH / NJS
PERO, cuando hago esto desde powershell, como:
$source = "C:\hold\first test"
$destination = "C:\hold\second test"
$robocopyOptions = " /NJH /NJS "
$fileList = "test.txt"
robocopy $source $destination $fileLIst $robocopyOptions
Yo obtengo:
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Fri Apr 10 09:20:03 2015
Source - C:\hold\first test\
Dest - C:\hold\second test\
Files : test.txt
Options : /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
ERROR : Invalid Parameter #4 : " /NJH /NJS "
Sin embargo, si cambio el comando robocopy a
robocopy $source $destination $fileLIst /NJH /NJS
Todo funciona con éxito.
Entonces, mi pregunta es, ¿cómo puedo pasar una cadena como mis opciones de comando robocopy (y, en un sentido más amplio, hacer lo mismo para cualquier comando externo dado)