Powershell - 将所有.psd文件收集到同一目录中

时间:2013-12-01 12:20:04

标签: regex powershell

我有一个随机名称的文件夹树。 在子目录中,我有多个文件。 我正在尝试复制“_PSD”目录中的所有“.psd”文件,以便将它们收集到同一文件夹中。

http://i.stack.imgur.com/mnuvL.jpg

我已设法使用以下powershell代码列出相关文件:

ls "D:\work\76063_000\tmp" -Recurse | where {$_.Name -match "\b.*.psd" } | format-table

如何复制_PSD中列出的文件? 请记住,我不想将子目录保留在_PSD中。 目标是直接在_PSD中复制所有psd文件。

非常感谢!

1 个答案:

答案 0 :(得分:1)

未经测试,因为我目前没有Windows可用于测试。应该有一种方法可以跳过where-object并在-exclude中使用get-childitem,但是根据您的powershell版本,IIRC会有一些瑕疵。

get-childitem -recurse -filter *.psd |
    where-object {$_.fullname -notlike "*\_PSD*"} |
    copy-item -destination D:\work\76063_000\tmp\_PSD

为了便于阅读而添加了换行符。