Вы должны войти, чтобы создавать сообщения и темы.

Сортировка разбросанных файлов по типу

Здравствуйте, уважаемые!
В наличии имеется внешний HDD с полутора терабайтами фотографий, видео и музыки. В результате пятилетки бекапов, сделанных (не мной) на скорую руку, на нем присутствует большое количество файлов и дубликатов раскиданных по всему диску в разных папках, часто многоуровневых.
Пример расположения одной из папок (коих десятки) - G:\another\New folder\photos\11
Собственно вопрос: как рассортировать все файлы по типу в четыре папки (фото, видео, музыка, разное), при условии, что временно освободить диск в данный момент не представляется возможным? Есть ли какая программа которая автоматически переместит файлы в заданную директорию на диске и удалит оригинал?
Или же проще потратить несколько часов и сделать все руками? В таком случае прошу посоветовать файловый менеджер который позволил бы работать бы более эффективно чем Windows Explorer.
Заранее спасибо!

Добрый вечер. Есть программка AllDup на бабочке. По описанию вроде умеет находить дубликаты, удалять лишнее, и перемещать по необходимости файлы в выбранную папку. Сам не пользовался. Перед использованием лучше поэкспериментировать на безопасных файлах.

Лайкнул Рик Течкин
Рик Течкин

А еще наверное можно через Total Commander, "показать файлы без подкаталогов" и добавить нужный фильтр, например jpg. А потом тупо всё копирнуть/переместить в нужную папку.

Но в любом случае такое месиво получится если всё в одну папку копировать/перемещать. Лучше наверное вручную рассортировывать. Долго конечно, но результат лучше будет.

Лайкнул Рик Течкин
Рик Течкин
Цитата: Евгений от 13.01.2023, 23:15

А еще наверное можно через Total Commander, "показать файлы без подкаталогов" и добавить нужный фильтр, например jpg. А потом тупо всё копирнуть/переместить в нужную папку.

Но в любом случае такое месиво получится если всё в одну папку копировать/перемещать. Лучше наверное вручную рассортировывать. Долго конечно, но результат лучше будет.

Цитата: Евгений от 13.01.2023, 23:09

Добрый вечер. Есть программка AllDup на бабочке. По описанию вроде умеет находить дубликаты, удалять лишнее, и перемещать по необходимости файлы в выбранную папку. Сам не пользовался. Перед использованием лучше поэкспериментировать на безопасных файлах.

Спасибо, попробую сегодня, показ без подкаталогов звучит как именно то, что нужно. Сортировать потом будет хозяин диска, мне просто нужно все в порядок привести.

Привет ! Давно собрал батник .Возможно нужно подправить не силён.

Cmd

@echo off & setlocal enabledelayedexpansion
cls
:m1
Echo D:\BackUp:
Echo ////////////////////////// Video
Echo 1 - Find Mp4
Echo 2 - Find Mkv
Echo 3 - Find Avi
Echo 4 - Find Mov
Echo 5 - Find Gif
Echo 6 - Find All Video
Echo ////////////////////////// Audio
Echo 7 - Find Mp3
Echo 8 - Find Wav
Echo ////////////////////////// Images
Echo 9 -  Find jpg
Echo 10 -  Find jpeg
Echo 11 - Find bmp
Echo 12 - Find heic
Echo 13 - Find png
Echo 14 - Find ico
Echo 15 - Find All Images 
Echo ////////////////////////// 

Set /p choice="Enter number: "
if not defined choice goto m1
if "%choice%"=="1" goto l1
if "%choice%"=="2" goto l2
if "%choice%"=="3" goto l3
if "%choice%"=="4" goto l4
if "%choice%"=="5" goto l5
if "%choice%"=="6" goto l6
if "%choice%"=="7" goto l7
if "%choice%"=="8" goto l8
if "%choice%"=="9" goto l9
if "%choice%"=="10" goto l10
if "%choice%"=="11" goto l11
if "%choice%"=="12" goto l12
if "%choice%"=="13" goto l13
if "%choice%"=="14" goto l14
if "%choice%"=="15" goto l15
echo.
echo    BackUp To BackUp\CurrentDay\Your Choice Folder >>>
pause

:l1
Set Video="D:\BackUp\Video\MP4"
if not exist "%Video%" (
    mkdir "%Video%"
)
for /r %%d in (*.mp4) do set "nd=%%~dpd" && xcopy "%%~dpd*.mp4" "%Video%\!nd:%~dp0=!" /bcihky
goto m1
 
:l2
Set Video="D:\BackUp\Video\Mkv"
if not exist "%Video%" (
    mkdir "%Video%"
)
for /r %%d in (*.mkv) do set "nd=%%~dpd" && xcopy "%%~dpd*.mkv" "%Video%\!nd:%~dp0=!" /bcihky
goto m1

:l3
Set Video="D:\BackUp\Video\Avi"
if not exist "%Video%" (
    mkdir "%Video%"
)
for /r %%d in (*.avi) do set "nd=%%~dpd" && xcopy "%%~dpd*.avi" "%Video%\!nd:%~dp0=!" /bcihky
goto m1
 
:l4
Set Video="D:\BackUp\Video\Mov"
if not exist "%Video%" (
    mkdir "%Video%"
)
for /r %%d in (*.mov) do set "nd=%%~dpd" && xcopy "%%~dpd*.mov" "%Video%\!nd:%~dp0=!" /bcihky
goto m1
 
:l5
Set Video="D:\BackUp\Video\Gif"
if not exist "%Video%" (
    mkdir "%Video%"
)
for /r %%d in (*.gif) do set "nd=%%~dpd" && xcopy "%%~dpd*.gif" style="color: #25d39d !important" "%Video%\!nd:%~dp0=!" /bcihky
goto m1

:l6
Set Video="D:\BackUp\Video\All_Video"
if not exist "%Video%" (
    mkdir "%Video%"
)
for /r %%d in (*.mp4) do set "nd=%%~dpd" && xcopy "%%~dpd*.mp4" "%Video%\!nd:%~dp0=!" /bcihky
for /r %%d in (*.mkv) do set "nd=%%~dpd" && xcopy "%%~dpd*.mkv" "%Video%\!nd:%~dp0=!" /bcihky
for /r %%d in (*.avi) do set "nd=%%~dpd" && xcopy "%%~dpd*.avi" "%Video%\!nd:%~dp0=!" /bcihky
for /r %%d in (*.gif) do set "nd=%%~dpd" && xcopy "%%~dpd*.gif" style="color: #25d39d !important" "%Video%\!nd:%~dp0=!" /bcihky
for /r %%d in (*.mov) do set "nd=%%~dpd" && xcopy "%%~dpd*.mov" "%Video%\!nd:%~dp0=!" /bcihky
goto m1

:l7
Set Mp3="D:\BackUp\Mp3"
if not exist "%Mp3%" (
    mkdir "%Mp3%"
)
for /r %%d in (*.mp3) do set "nd=%%~dpd" && xcopy "%%~dpd*.mp3" "%Mp3%\!nd:%~dp0=!" /bcihky
goto m1

:l8
Set Wav="D:\BackUp\Wav"
if not exist "%Wav%" (
    mkdir "%Wav%"
)
for /r %%d in (*.wav) do set "nd=%%~dpd" && xcopy "%%~dpd*.wav" "%Wav%\!nd:%~dp0=!" /bcihky
goto m1

:l9
Set Foto="D:\BackUp\Foto\jpg"
if not exist "%Foto%" (
    mkdir "%Foto%"
)
for /r %%d in (*.jpg) do set "nd=%%~dpd" && xcopy "%%~dpd*.jpg" style="color: #25d39d !important" "%Foto%\!nd:%~dp0=!" /bcihky
goto m1

:l10
Set Foto="D:\BackUp\Foto\jpeg"
if not exist "%Foto%" (
    mkdir "%Foto%"
)
for /r %%d in (*.jpeg) do set "nd=%%~dpd" && xcopy "%%~dpd*.jpeg" style="color: #25d39d !important" "%Foto%\!nd:%~dp0=!" /bcihky
goto m1

:l11
Set Foto="D:\BackUp\Foto\bmp"
if not exist "%Foto%" (
    mkdir "%Foto%"
)
for /r %%d in (*.bmp) do set "nd=%%~dpd" && xcopy "%%~dpd*.bmp" "%Foto%\!nd:%~dp0=!" /bcihky
goto m1

:l12
Set Foto="D:\BackUp\Foto\heic"
if not exist "%Foto%" (
    mkdir "%Foto%"
)
for /r %%d in (*.heic) do set "nd=%%~dpd" && xcopy "%%~dpd*.heic" "%Foto%\!nd:%~dp0=!" /bcihky
goto m1

:l13
Set Foto="D:\BackUp\Foto\png"
if not exist "%Foto%" (
    mkdir "%Foto%"
)
for /r %%d in (*.png) do set "nd=%%~dpd" && xcopy "%%~dpd*.png" style="color: #25d39d !important" "%Foto%\!nd:%~dp0=!" /bcihky
goto m1

:l14
Set Foto="D:\BackUp\Foto\ico"
if not exist "%Foto%" (
    mkdir "%Foto%"
)
for /r %%d in (*.ico) do set "nd=%%~dpd" && xcopy "%%~dpd*.ico" "%Foto%\!nd:%~dp0=!" /bcihky
goto m1

:l15
Set Foto="D:\BackUp\Foto\All_Images"
if not exist "%Foto%" (
    mkdir "%Foto%"
)
for /r %%d in (*.jpg) do set "nd=%%~dpd" && xcopy "%%~dpd*.jpg" style="color: #25d39d !important" "%Foto%\!nd:%~dp0=!" /bcihky
for /r %%d in (*.png) do set "nd=%%~dpd" && xcopy "%%~dpd*.png" style="color: #25d39d !important" "%Foto%\!nd:%~dp0=!" /bcihky
for /r %%d in (*.bmp) do set "nd=%%~dpd" && xcopy "%%~dpd*.bmp" "%Foto%\!nd:%~dp0=!" /bcihky
for /r %%d in (*.ico) do set "nd=%%~dpd" && xcopy "%%~dpd*.ico" "%Foto%\!nd:%~dp0=!" /bcihky
for /r %%d in (*.jpeg) do set "nd=%%~dpd" && xcopy "%%~dpd*.jpeg" style="color: #25d39d !important" "%Foto%\!nd:%~dp0=!" /bcihky
for /r %%d in (*.heic) do set "nd=%%~dpd" && xcopy "%%~dpd*.heic" "%Foto%\!nd:%~dp0=!" /bcihky
goto m1

echo.
echo ===================
echo Backup Compleated!
echo ===================
goto m1
pause