Fotos per Powershell in Ordner einsortieren

Ich sortiere meine Fotos in Ordner nach Erstelldatum.

Das heisst, ist das Foto am 22.03.2014 erstellt worden landet es im Ordner 20140322.

Diese mühselige Arbeit kann natürlich mit Powershell automatisiert werden.

function copy-files2folder
{
<#
    .SYNOPSIS
        Reads the create date of each file and creates a folder with naming YYYYMMDD and puts the file into it
    .PARAMETER Path
        $Path is mandatory and defines the path where the script needs to go through
    .PARAMTER Extension
        $Extenison is defining a filter for a specific file extenstion to be covered
    .EXAMPLE
        copy-files2folder -Path "c:\temp" -Extension "jpg"
    .LINK
        http://www.gabrie.li
#>
    PARAM
    (
    [Parameter(Mandatory=$true)]
    [string]$Path,

    [string]$Extension
    )

$filesinfolder = Get-ChildItem -Path $Path -File -Filter "*.$Extension"
foreach ($file in $filesinfolder)
    {
    $foldername = ((Get-ItemProperty -Path $File.FullName).CreationTime).ToString("yyyyMMdd")
    if (test-path -Path $Path\$foldername)
        {
        Move-Item -Path $file.FullName -Destination $Path\$fodername 
        }
    Else 
        {
        new-item -ItemType directory -Path $Path\$foldername
        Move-Item -Path $file.FullName -Destination $Path\$foldername
        }
    } 

}

copy-files2folder -Path "c:\temp" -Extension "jpg"

Durch einen weiteren Parameter kann sogar zwischen verschiedenen Datei-Erweiterungen unterschieden werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.