Here is my suggestion.
I am not exactly sure about your name format and what part you want to extract, so you might have to change the regex accordingly.
Get-ChildItem C:\Scripts\MetadataExport -Directory | foreach {
# this will look for a 4-digit number in the directory name
if ($_.Name -match '(?:\b|\D)(\d{4})(?:\b|\D)') {
$destPath = Join-Path $_.Parent.FullName $Matches[1]
if (-not (Test-Path -LiteralPath $destPath)) {
New-Item $destPath -ItemType Directory
}
Move-Item -LiteralPath $_.FullName -Destination $destPath
}
}
CLICK HERE to find out more related problems solutions.