Попытка упорядочить файлы на основе даты изменения - PullRequest
0 голосов
/ 27 сентября 2019

Я пытался организовать загрузку файлов PST в подпапки на основе даты их изменения.

Например, я хотел бы переместить файл PST с датой изменения "24/09/2019"во вновь созданную папку с именем «24/09/2019» - имя папки, основанное на дате изменения.

Мне удалось создать папку с датой на основе ОДНОГО файла, но переместить файл впапка и завершение этого процесса для нескольких файлов не работает.

$LastModifiedDate = Get-ChildItem "C:\users\user\Desktop\Test\"
$LastModified = $LastModifiedDate.LastWriteTime.ToString("dd-MM-yyyy")

$LastModifiedDate | ForEach-Object  {
    New-Item -ItemType directory -Path "C:\users\user\desktop\Test\" -Name $LastModified
    Move-Item $LastModifiedDate -Path "C:\users\user\desktop\test\$LastModified"
}

echo $LastModifiedDate
echo $LastModified

1 Ответ

0 голосов
/ 27 сентября 2019

Предполагается, что все ваши PST-файлы расположены по указанному вами пути, вы можете использовать что-то вроде этого:

$BasePath = 'C:\users\user\Desktop\Test'
Get-ChildItem -Path $BasePath -Filter *.pst |
    ForEach-Object {
        $Date = Get-Date $_.LastWriteTime -Format 'yyyyMMdd'
        $TargetPath = Join-Path -Path $BasePath -ChildPath $Date
        If (-not (Test-Path -Path $TargetPath)) {
            New-Item -Path $TargetPath -ItemType Directory -Force
        }
        Move-Item -Path $_.FullName -Destination $TargetPath
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...