首页 > 解决方案 > 将文件复制到其父目录,并以目录名称为前缀

问题描述

简而言之,我有一个日期目录列表,其中包含文件列表。

我需要一个以日期为前缀的文件列表。

我无法确保输入更有用,因为目录上的日期会随着状态的变化而变化。

到目前为止,我已经找到了一种方法来重命名以目录名称为前缀的文件。

gci "C:\Directory to find files" -recurse | Where {$_.psIsContainer -eq $false} | Rename-Item -NewName {$_.Directory.Name + " - " + $_.Name}

但是,我是一个 powershell 新手(实际上是五分钟前),我对批处理文件的经验并没有让我为此做好准备。我怎样才能让它将文件复制到父目录?

标签: powershell

解决方案


-Format使用运算符从组件构建目标名称

Get-ChildItem "C:\Directory to find files" -Recurse -File |
    Copy-Item -Destination {"{0}\{1}-{2}" -f $_.Directory.Parent.Fullname,
                                             $_.Directory.Name,
                                             $_.Name } -WhatIf

如果输出看起来正常,请删除-WhatIf


推荐阅读