我想从目录中提取随机图像,因此我将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
。我在头上。
谢谢
答案 0 :(得分:1)
您没有将对象传递或通过管道传递到Copy-Item
,只需执行$selects | Copy-Item -Destination $destination
答案 1 :(得分:0)
我可以通过完全删除CSV
元素来解决该问题。最初,Get-Childitem
和Add-Content
构建了CSV
,而不是这样做,我直接将GCI
用管道输送到Get-Random
中,然后使用{{1} }成功:
Copy-Item
感谢大家的投入,它帮助我思考了当前的构想。