Буквально перед новым годом попалась мне на глаза давно забытая флеш-карта из фотоаппарата. Карта оказалась всклинь забита фотографиями, бережно разнесёнными фотокамерой по папкам. Одна папка — один день съёмки. И таких дней тогда выдалась — уйма.
Решил разобрать фотографии потоковым режимом и перенести их все в одну папку, а чтобы не делать это вручную (надо же успеть и салаты нарезать, и старый год проводить), обратился к магии PowerShell:
## Папка источник ## $source="C:\directories" ## Папка назначения ## $destination="C:\files" ## Перемещение файлов в папку ## Get-ChildItem -Path $source -Recurse -File | Move-Item -Destination $destination -Force -Verbose -ErrorAction Continue ## Копирование файлов в папку # Опционально ## # Get-ChildItem -Path $source -Recurse -File | Copy-Item -Destination $destination -Force -Verbose -ErrorAction Continue
Код преспокойно отработал из ISE и за мгновение все фотографии перепарковал в папку назначения.
Для разнообразия добавил и метод копирования файлов без переноса. Только не забудьте вытащить из комментариев копирование и закомментировать перемещение.