Sort-Files.psm1
<#
.Synopsis Sorts files by adding the creation time to the beginning of the file name. .Description Sorts files by adding the creation time to the beginning of the file name. The filetype needs to be specified. The date will be added at the beginning of the file name in form of yyyy_MM_dd_Filename.extension. .Parameter Folder The folder to sort files in. .Parameter Filetype The filetype to sort. .Example # Sort all screenshots taken in the *.png format. Invoke-SortFiles -Folder 'D:\Screenshots' -Filetype '*.png' #> function Invoke-SortFiles { param( [Parameter(Position = 0, mandatory = $true)] [String] $Folder, [Parameter(Position = 1, mandatory = $true)] [String] $Filetype ) Get-ChildItem -Path $Folder -Filter $Filetype | Where-Object { -Not ($_.Basename -match "^[0-9,_]{11}") } | ForEach-Object { $prefixedName = $_.CreationTime.ToString("yyyy_MM_dd") + "_" + $_.Name Rename-Item $_.FullName -NewName $prefixedName Write-Output $prefixedName } } Export-ModuleMember -Function Invoke-SortFiles |