Копировать объекты из Get-Random - PullRequest
0 голосов
/ 09 февраля 2019

Я хочу извлечь случайные изображения из каталога, поэтому я использую Get-ChildItem с нужными параметрами для идентификации всех соответствующих изображений, а затем записываю их в файл CSV.Оттуда я импортирую CSV и использую Get-Random для извлечения случайных файлов.Затем я хочу скопировать изображения из Get-Random, но не могу заставить его работать.

Я знаю, что CSV является правильным, и когда я вызываю переменную Get-Random, она выглядит правильно (я считаю,это хеш-таблица?).

CSV Содержание:

Image                                                                                                              
-----                                                                                                              
\\Path\File1.jpg
\\Path\File2.jpg
\\Path\File3.jpg

Скрипт для извлечения случайного изображения и копирования:

$a = Import-CSV -Path $path
    $selects = Get-Random -InputObject $a -Count $count
        foreach($b in $selects){
        Copy-Item $destination
        }

Когда я повторяю $selects,он делает точные имена случайных файлов из оригинала GCI, но я не могу разобраться с копией.Может быть, это потому, что это хеш-таблица?Я считаю, что Get-Random обеспечивает objects, и я думаю, что объекты могут использовать Copy-Item.Я над моей головой.

Спасибо

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Мне удалось обойти проблему, полностью удалив элемент CSV.Изначально Get-Childitem и Add-Content построили CSV, вместо этого я скопировал GCI непосредственно в Get-Random и затем успешно использовал Copy-Item:

$a = GCI $directory | Get-Random -Count $Count $a | Copy-Item -Destination $Destination

Спасибо за вклад каждого, это помогло мне мыслить вне моих нынешних конструкций.

0 голосов
/ 09 февраля 2019

Вы не передаете или не переносите объект на Copy-Item, вы можете просто сделать $selects | Copy-Item -Destination $destination

...