如何递归地将指定扩展名的所有文件复制到另一个位置

如何递归地将指定扩展名的所有文件复制到另一个位置

我在这里尝试了可接受的解决方案: https://serverfault.com/questions/194827/writing-a-powershell-script-to-copy-files-with-certain-extension-from-one-folder/223014#223014 但它不起作用,而且我对已接受的解决方案的评论没有得到回应。

我尝试将图片驱动器中的所有图片(仅 PNG、JPG,不包含视频文件)复制到其他驱动器,但没有成功。

理想情况下,我想递归复制,但复制到平面目的地(不镜像源子目录)

我尝试了这个命令: Copy-Item -path "C:\Users\genadi\Pictures\" -include "*.JPG", "*.PNG" -Destination "D:\"有和没有-recurse,但什么都没有发生。

理想情况下,我想要一个脚本来:1)缩小所有 JPG 和 PNG 图片(包括所有子文件夹)的原始尺寸;2)将缩小后的尺寸复制到指定目的地。

目前我的原件大约有 20GB,我需要将它们放在闪存驱动器上以便显示/打印等,并在需要时轻松重复此操作(因此脚本会很好)。

答案1

这是因为 cmdlet 返回的对象名称不包含扩展名,您需要附加\*。我不确定是否Copy-Item允许您“折叠”目标目录,因此我将使用Get-ChildItemwith-Recurse并将其通过管道传输到Copy-Item

Get-ChildItem -Path "C:\Users\genadi\Pictures\*" -Include *.jpg,*.png -Recurse | Copy-Item -Destination D:\

相关内容