从Get-Random复制对象

时间:2019-02-08 21:33:40

标签: powershell copy-item

我想从目录中提取随机图像,因此我将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 :(得分:1)

您没有将对象传递或通过管道传递到Copy-Item,只需执行$selects | Copy-Item -Destination $destination

答案 1 :(得分:0)

我可以通过完全删除CSV元素来解决该问题。最初,Get-ChilditemAdd-Content构建了CSV,而不是这样做,我直接将GCI用管道输送到Get-Random中,然后使用{{1} }成功:

Copy-Item

感谢大家的投入,它帮助我思考了当前的构想。