Я выглядел высоко и низко, перепробовал все возможные варианты и, похоже, не могу найти решение этой проблемы. Я запускаю задание PS, которое вызывает robocopy, чтобы просто получить количество папок / файлов и размер родительской папки для списка папок, указанного во входном файле (CSV).
Вот фрагмент кода (по крайней мере, важные строки) ..
$Filter = '*.*'
$params = New-Object System.Collections.Arraylist
$params.AddRange(@("/L","/S","/NJH","/BYTES","/FP","/NFL","/MT:64","/NC","/NDL","/TS","/XJ","/R:0","/W:0"))
$InputFile = '\\server\org\archives\folder\Folders.csv'
$Paths = Get-Content $InputFile
ForEach ($item in $Paths) {
ListFolder $item
Function ListFolder {
$Script = robocopy $item NULL $Filter $params
}
Странно, что приведенный выше код работает для такой папки, как:
\ server \ Org \ Folder \ TST \ AC & D C Rock
Но ошибки на;
\ server \ Org \ Folder \ TST \ AC & D C Rock \ Thunder Struck, Ros ie и DirtyDeeds
Выполнение robocopy $ Paths NULL $ Filter $ params
или
Запуск robocopy "" $ Paths "" NULL $ Фильтр $ params
или
Запуск robocopy '' $ Paths '' NULL $ Filter $ params
Я получаю:
Source: - \\server\Org\Folder\TST\AC&DC Rock\Thunder Struck, Rosie and DirtyDeeds\
Dest - \\.\NUL\
Files : *.*
Options : *.* /DCOPY:DA /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
ERROR : Invalid Parameter #4 : "/L /S /NJH /BYTES /FP /NFL /MT:64 /NC /NDL /TS /XJ /R:0 /W:0"
Это запятая?
Запуск robocopy "" + $ Paths + "" NULL $ Filter $ params
Я получаю:
C:\Users\fisrt.last\+\
Dest - \\server\Org\Folder\TST\AC&DC Rock\Thunder Struck, Rosie and DirtyDeeds\
Files : *.*
Options : *.* /DCOPY:DA /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
ERROR : Invalid Parameter #6 : "/L /S /NJH /BYTES /FP /NFL /MT:64 /NC /NDL /TS /XJ /R:0 /W:0"
Наконец ...
Запуск robocopy "$Paths
"NULL $ Filter $ params
Я получаю:
Source - C:\Users\first.last\"\\server\Org\Folder\TST\AC&DC\
Dest - C:\Users\first.last\Rock\Thunder Struck, Rosie and DirtyDeeds\
Files : *.*
Options : *.* /DCOPY:DA /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
ERROR : Invalid Parameter #10 : "/L /S /NJH /BYTES /FP /NFL /MT:64 /NC /NDL /TS /XJ /R:0 /W:0"
Я попробовал много других итераций как пост d здесь для подобных предложений, сайтов MS и множества других.