Копирование папок в другое место назначения, именование папок назначения в соответствии с первоначальной датой создания - PullRequest
0 голосов
/ 03 мая 2019

Мне нужно скопировать содержимое из исходной папки с подпапками, которые содержат подпапки и файлы.Это необходимо скопировать в папку назначения на основе даты источника по году и месяцу, поэтому я бы хотел, чтобы папка называлась 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 
}

Этот код выполняет большую часть того, что я хочу, но не повторяет-создание подпапок, он только копирует файлы во вновь созданные папки года и месяца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...