我需要从源文件夹复制内容,其中子文件夹包含子文件夹和文件。需要根据源的日期(按年份和月份)将其复制到目标文件夹,因此我想要一个名为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
}
这段代码可以满足我的大部分需求,但不会重新创建子文件夹,它只会将文件复制到新创建的年月文件夹中。