ProductivityTools.DirectoryReverseOrder.psm1
function Set-DirectoryInReverseOrder { [cmdletbinding()] param ([string]$Directory = ".", [int]$LeadingBuffer) Write-Output "Hello" Write-Output "HelloVerbose" $dirs = Get-ChildItem -Path $Directory | ? { $_.PSIsContainer } $count = $dirs.Length + $LeadingBuffer foreach ($dir in $dirs) { $number = '{0:d3}' -f $count $targetName = $number + "_" + $dir.Name Write-Verbose $targetName Rename-Item -Path $dir.FullName -NewName $targetName $count-- } } function Remove-PrefixFromDirectoryName{ [cmdletbinding()] param ([string]$Directory = ".") Write-Output "Hello Remove-Prefix" Write-Output "HelloVerbose" Write-Verbose "Analyzing directory $Directory" $dirs = Get-ChildItem -Path $Directory | ? { $_.PSIsContainer } foreach ($dir in $dirs) { Write-Verbose "================" $name=$dir.Name Write-Verbose $name $fourth=$name[3] Write-Verbose $fourth if ($fourth -eq "_"){ $numberString=$name.Substring(0,3); Write-Verbose($numberString) $number=[int]::Parse($numberString); if ($number -gt 0) { Write-Verbose "We can remove it" $newName=$name.Substring(4) Write-Verbose "New name: $newName" Rename-Item -Path $dir.FullName -NewName $newName } } #$count-- } } Export-ModuleMember Set-DirectoryInReverseOrder Export-ModuleMember Remove-PrefixFromDirectoryName |