gpt4 book ai didi

powershell - 如何将文件从一个文件夹批量复制并重命名到另一个文件夹?

转载 作者:行者123 更新时间:2023-12-03 00:02:36 25 4
gpt4 key购买 nike

我有100个包含psd文件的文件夹:

C:\Users\Harvey\Documents\Archive011112\TFG\SG\ET\ET2013\filenameX\psd\logo.psd
C:\Users\Harvey\Documents\Archive011112\TFG\SG\ET\ET2013\filenameY\psd\logo.psd
C:\Users\Harvey\Documents\Archive011112\TFG\SG\ET\ET2013\filenameZ\psd\logo.psd
...

每个psd文件都包含一张图片:'logo.psd'

我想复制分别位于其中的“filenameX”,“filenameY”,“filenameZ”的“logo.psd”,
C:\Users\Harvey\Documents\Archive011112\TFG\SG\ET\ET2013\filenameX\psd
C:\Users\Harvey\Documents\Archive011112\TFG\SG\ET\ET2013\filenameY\psd
C:\Users\Harvey\Documents\Archive011112\TFG\SG\ET\ET2013\filenameZ\psd
...

到另一个文件夹,
C:\Users\Harvey\Documents\Archive011112\TFG\SG\ET\Logos\

并使用“logo_parentfoldername”将“logo”文件重命名为:“logo_filenameX”,“logo_filenameY”,“logo_filenameZ”。

最终结果:
C:\Users\Harvey\Documents\Archive011112\TFG\SG\ET\Logos\logo_filenameX.psd
C:\Users\Harvey\Documents\Archive011112\TFG\SG\ET\Logos\logo_filenameY.psd
C:\Users\Harvey\Documents\Archive011112\TFG\SG\ET\Logos\logo_filenameZ.psd
....

希望一切都清楚!

最佳答案

这样的事情应该可以解决问题。

您想将Get-ChildItem与-Recurse一起使用以获取每个子目录中的所有那些文件。

Get-ChildItem -Path $dir -Recurse

但是,仅将结果过滤为扩展名为.psd的结果。
|?{$_.Extension -eq ".psd"} 

然后为每个文件获取父目录的父目录的名称。
$_.Directory.Parent.Name

最后将文件复制到我们的新文件目标位置。
Copy-Item $_.FullName $copyto 

因此最终产品看起来像这样:
$dir = "C:\source\" 
$destination = "C:\destination\"

Get-ChildItem -Path $dir -Recurse | ?{$_.Extension -eq ".psd"} | % {
$copyto = $destination + $_.Directory.Parent.Name + ".psd"
Copy-Item $_.FullName $copyto
}

关于powershell - 如何将文件从一个文件夹批量复制并重命名到另一个文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20032872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com