将文件夹复制到另一个目标,并根据原始创建日期命名目标文件夹

时间:2019-05-03 09:37:02

标签: powershell

我需要从源文件夹复制内容,其中子文件夹包含子文件夹和文件。需要根据源的日期(按年份和月份)将其复制到目标文件夹,因此我想要一个名为2013的文件夹,然后是一个月1,然后是源文件夹的内容。

我已经浏览了Microsoft文档,但是找不到我想要做的事情。

代码源由https://www.thomasmaurer.ch/2015/03/move-files-to-folder-sorted-by-year-and-month-with-powershell/

提供
$files = Get-ChildItem 'D:\Test1' -Recurse | where {!$_.PsIsContainer}
$files
$targetPath = 'D:\Test2'
foreach ($file in $files) {
    $year = $file.LastWriteTime.Year.ToString()
    $month = $file.LastWriteTime.Month.ToString()
    $file.Name
    $year
    $month
    $Directory = $targetPath + "\" + $year + "\" + $month
    if (!(Test-Path $Directory)) {
        New-Item $directory -Type Directory
    }
    $file | Copy-Item -Recurse -Destination $Directory 
}

这段代码可以满足我的大部分需求,但不会重新创建子文件夹,它只会将文件复制到新创建的年月文件夹中。

0 个答案:

没有答案