从不同的文件复制特定的文件名

时间:2016-02-24 16:15:08

标签: powershell

所以我有一堆文件夹,每个文件夹中都有一个名为CLOSEUP-PLAIN.PNG的文件,需要将每个文件复制到一个新文件夹中。
文件夹布局为:

  • 列出图片
    • 000001
      • 特写-PLAIN.PNG
    • 000002
      • 特写-PLAIN.PNG
    • 000003
      • 特写-PLAIN.PNG
    • 000004
      • CLOSEUP-PLAIN.PNG

我需要将所有CLOSEUP-PLAIN文件复制到一个新文件夹中,如果可能,可以将其重命名为它所在的文件夹。
感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

尝试以下操作,替换源目录和目标目录的路径:

[string] $Source = "D:\Listing Images"
[string] $Destination = "D:\Output"

if (!(Test-Path $Destination)) {
    New-Item -Type Directory $Destination
}

Get-ChildItem $Source -Recurse | Where-Object {!$_.PSIsContainer -and $_.Name -eq 'CLOSEUP-PLAIN.PNG'} | ForEach-Object { Copy-Item  $_.FullName "$Destination\$($_.Directory.Name).png" }

这会找到名为" CLOSEUP-PLAIN.PNG"的所有图像。在$ Source下面的任何文件夹中,将它们复制到$ Destination,并将其名称设置为找到它们的文件夹。