Forum Discussion

James2024's avatar
James2024
Copper Contributor
May 30, 2024

Move files to specific directories based on file modified by date.

Hi All,

I'm trying to make sense of 1000's of photos and I'm looking for something a little different to the year - month standard option.
I'm trying to sort my pictures between specific dates for instance.

For example:
Pics from between 05-01-2000 & 04-02-2000 to be moved to directory 'Year 1\Month 0'
Pics from between 05-02-2000 & 04-03-2000 to be moved to directory 'Year 1\Month 1'
Pics from between 05-03-2000 & 04-04-2000 to be moved to directory 'Year 1\Month 2'
Pics from between 05-04-2000 & 04-05-2000 to be moved to directory 'Year 1\Month 3'

From searching i have found the following script

 

 

CmdletBinding(SupportsShouldProcess=$true)]
param (
    [Parameter(Mandatory=$true)][string]$SourceDirectory,
    [Parameter(Mandatory=$true)][string]$DestinationDirectory,
    [Parameter(Mandatory=$true)][string]$ModifiedAfter,
    [Parameter(Mandatory=$true)][string]$ModifiedBefore
)

Get-ChildItem -Path $SourceDirectory |
Where-Object {
    $_.LastWriteTime `
        -gt (Get-Date $ModifiedAfter) `
        -and $_.LastWriteTime -lt (Get-Date $ModifiedBefore) } |
ForEach-Object { $_ | Copy-Item -Destination $DestinationDirectory }

 

 

You then run it with

 

 

.\Copy-Files-Modified-Between-Dates `
    -SourceDirectory C:\Temp\all `
    -DestinationDirectory C:\Temp\subset `
    -ModifiedAfter '2000-01-05 18:00' `
    -ModifiedBefore '2000-02-04'

 

 

My question is how can this be made to increment onto the next month automatically or to reference a file for info maybe a csv or text file to say
Pics from between 05-04-2010 & 04-05-2010 to be moved to directory 'Year 10\Month 3'

No RepliesBe the first to reply

Resources