Powershell с Robocopy (или как # $ (* и правильно ли я передаю аргументы?)

Я пытаюсь написать сценарий, который использует robocopy. Если бы я просто делал это вручную, моя команда была бы:

robocopy c: \ hold \ test1 c: \ hold \ test2 test.txt / NJH / NJS

НО, когда я делаю это из powershell, вроде:

$source = "C:\hold\first test"
$destination = "C:\hold\second test"
$robocopyOptions = " /NJH /NJS "
$fileList = "test.txt"

robocopy $source $destination $fileLIst $robocopyOptions

Я получил:

-------------------------------------------------------------------------------
   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 "

Однако, если я изменю команду robocopy на

robocopy $source $destination $fileLIst  /NJH /NJS 

все работает успешно.

Итак, мой вопрос, как я могу передать строку в качестве параметров моей команды robocopy (и, в более широком смысле, сделать то же самое для любой данной внешней команды)

Ответы на вопрос(3)

Ваш ответ на вопрос