$rootDirectory = "D:\tva-file-share-move\pqdata" ,[System.IO.Path]::Combine($rootDirectory, "APP", "Data") | ForEach-Object { [System.IO.Directory]::GetDirectories($_, "*", "TopDirectoryOnly") } | Where-Object { [System.IO.Path]::GetFileName($_) -ne "PQM" } | Where-Object { [System.IO.Path]::GetFileName($_) -ne "Temp" } | ForEach-Object { $station = [System.IO.Path]::GetFileName($_) $destination = [System.IO.Path]::Combine($rootDirectory, "DFR", "APP", $station) [System.IO.Directory]::CreateDirectory($destination) | Out-Null $configSrc = [System.IO.Path]::Combine($_, "Config") $configDst = [System.IO.Path]::Combine($destination, "Config") $configExists = [System.IO.Directory]::Exists($configSrc) If ($configExists) { [System.IO.Directory]::Move($configSrc, $configDst) } $diagnosticSrc = [System.IO.Path]::Combine($_, "Monitoring") $diagnosticDst = [System.IO.Path]::Combine($destination, "Diagnostic") $diagnosticExists = [System.IO.Directory]::Exists($diagnosticSrc) If ($diagnosticExists) { [System.IO.Directory]::Move($diagnosticSrc, $diagnosticDst) } $serSrc = [System.IO.Path]::Combine($_, "$station SER") $serDst = [System.IO.Path]::Combine($destination, "SER") $serExists = [System.IO.Directory]::Exists($serSrc) If ($serExists) { [System.IO.Directory]::Move($serSrc, $serDst) } $rmsTrendSrc = [System.IO.Path]::Combine($_, "$station RMS Trend") $rmsTrendDst = [System.IO.Path]::Combine($destination, "RMS Trend") $rmsTrendExists = [System.IO.Directory]::Exists($rmsTrendSrc) If ($rmsTrendExists) { [System.IO.Directory]::Move($rmsTrendSrc, $rmsTrendDst) } $pqTrendSrc = [System.IO.Path]::Combine($_, "$station PQ Trend") $pqTrendDst = [System.IO.Path]::Combine($destination, "PQ Trend") $pqTrendExists = [System.IO.Directory]::Exists($pqTrendSrc) If ($pqTrendExists) { [System.IO.Directory]::Move($pqTrendSrc, $pqTrendDst) } $flickerTrendSrc = [System.IO.Path]::Combine($_, "$station Flicker Data") $flickerTrendDst = [System.IO.Path]::Combine($destination, "Flicker Trend") $flickerTrendExists = [System.IO.Directory]::Exists($flickerTrendSrc) If ($flickerTrendExists) { [System.IO.Directory]::Move($flickerTrendSrc, $flickerTrendDst) } $studies = [System.IO.Path]::Combine($destination, "Studies") [System.IO.Directory]::CreateDirectory($studies) | Out-Null [System.IO.Directory]::GetDirectories($_, "*", "TopDirectoryOnly") | Where-Object { [System.IO.Path]::GetFileName($_) -ne "Archive" } | ForEach-Object { $studyName = [System.IO.Path]::GetFileName($_) $studySrc = $_ $studyDst = [System.IO.Path]::Combine($studies, $studyName) [System.IO.Directory]::Move($studySrc, $studyDst) } $eventSrc = $_ $eventDst = [System.IO.Path]::Combine($destination, "Event") [System.IO.Directory]::Move($eventSrc, $eventDst) } ,[System.IO.Path]::Combine($rootDirectory, "BENcomtrade") | ForEach-Object { [System.IO.Directory]::GetDirectories($_, "*", "TopDirectoryOnly") } | ForEach-Object { $station = [System.IO.Path]::GetFileName($_) $destination = [System.IO.Path]::Combine($rootDirectory, "DFR", "BEN", $station) [System.IO.Directory]::CreateDirectory($destination) | Out-Null $configSrc = [System.IO.Path]::Combine($_, "Config") $configDst = [System.IO.Path]::Combine($destination, "Config") $configExists = [System.IO.Directory]::Exists($configSrc) If ($configExists) { [System.IO.Directory]::Move($configSrc, $configDst) } $studies = [System.IO.Path]::Combine($destination, "Studies") [System.IO.Directory]::CreateDirectory($studies) | Out-Null [System.IO.Directory]::GetDirectories($_, "*", "TopDirectoryOnly") | Where-Object { [System.IO.Path]::GetFileName($_) -ne "Archive" } | ForEach-Object { $studyName = [System.IO.Path]::GetFileName($_) $studySrc = $_ $studyDst = [System.IO.Path]::Combine($studies, $studyName) [System.IO.Directory]::Move($studySrc, $studyDst) } $eventSrc = $_ $eventDst = [System.IO.Path]::Combine($destination, "Event") [System.IO.Directory]::Move($eventSrc, $eventDst) } ,[System.IO.Path]::Combine($rootDirectory, "EMAXData") | ForEach-Object { [System.IO.Directory]::GetDirectories($_, "*", "TopDirectoryOnly") } | ForEach-Object { $station = [System.IO.Path]::GetFileName($_) $destination = [System.IO.Path]::Combine($rootDirectory, "DFR", "EMAX", $station) [System.IO.Directory]::CreateDirectory($destination) | Out-Null $configSrc = [System.IO.Path]::Combine($_, "Config") $configDst = [System.IO.Path]::Combine($destination, "Config") $configExists = [System.IO.Directory]::Exists($configSrc) If ($configExists) { [System.IO.Directory]::Move($configSrc, $configDst) } $diagnosticSrc = [System.IO.Path]::Combine($_, "Monitoring") $diagnosticDst = [System.IO.Path]::Combine($destination, "Diagnostic") $diagnosticExists = [System.IO.Directory]::Exists($diagnosticSrc) If ($diagnosticExists) { [System.IO.Directory]::Move($diagnosticSrc, $diagnosticDst) } $studies = [System.IO.Path]::Combine($destination, "Studies") [System.IO.Directory]::CreateDirectory($studies) | Out-Null [System.IO.Directory]::GetDirectories($_, "*", "TopDirectoryOnly") | Where-Object { [System.IO.Path]::GetFileName($_) -ne "Archive" } | ForEach-Object { $studyName = [System.IO.Path]::GetFileName($_) $studySrc = $_ $studyDst = [System.IO.Path]::Combine($studies, $studyName) [System.IO.Directory]::Move($studySrc, $studyDst) } $eventSrc = $_ $eventDst = [System.IO.Path]::Combine($destination, "Event Native") [System.IO.Directory]::Move($eventSrc, $eventDst) } ,[System.IO.Path]::Combine($rootDirectory, "EMAXcomtrade") | ForEach-Object { [System.IO.Directory]::GetDirectories($_, "*", "TopDirectoryOnly") } | Where-Object { [System.IO.Path]::GetFileName($_) -ne "2009" } | ForEach-Object { $station = [System.IO.Path]::GetFileName($_) $destination = [System.IO.Path]::Combine($rootDirectory, "DFR", "EMAX", $station) [System.IO.Directory]::CreateDirectory($destination) | Out-Null $studies = [System.IO.Path]::Combine($destination, "Studies") [System.IO.Directory]::CreateDirectory($studies) | Out-Null [System.IO.Directory]::GetDirectories($_, "*", "TopDirectoryOnly") | Where-Object { [System.IO.Path]::GetFileName($_) -ne "Archive" } | ForEach-Object { $comtradeStudies = [System.IO.Path]::Combine($studies, "Comtrade") [System.IO.Directory]::CreateDirectory($comtradeStudies) | Out-Null $studyName = [System.IO.Path]::GetFileName($_) $studySrc = $_ $studyDst = [System.IO.Path]::Combine($comtradeStudies, $studyName) [System.IO.Directory]::Move($studySrc, $studyDst) } $eventSrc = $_ $eventDst = [System.IO.Path]::Combine($destination, "Event Comtrade") [System.IO.Directory]::Move($eventSrc, $eventDst) }