Показать сообщение отдельно
  #1 (permalink)  
Старый 21.05.2022, 15:01
Кандидат Javascript-наук
Отправить личное сообщение для mik888em Посмотреть профиль Найти все сообщения от mik888em
 
Регистрация: 21.06.2020
Сообщений: 145

Как из папки раскидать все файлы по подпапкам по 10 шт?
Есть папка, в ней много файлов .mp4 Как используя батник (не powershell) внутри папки создать много подпапок и раскидать по подпапкам эти файлы, чтоб в каждой подпапке было не более 10 файлов.

Естественно, что если в папке у нас будет не кратное кол-во .mp4 файлов то в последней подпапке будет закинуто меньше чем 10 файлов.

Данный скрипт делает это, но как указать чтоб скрипт работал с конкретной папкой , т.к. батник лежит рядом с этой главной папкой а не внутри неё?
@Echo Off
If /I Not "%__CD__%"=="%~dp0" PushD "%~dp0" 2>Nul||Exit/B
SetLocal EnableDelayedExpansion
Set "DirN=-1"

:Check_DirN
Set/A "DirN+=1"
If Exist "%DirN%" GoTo Check_DirN
Set "limit=10"
For %%A In (*.bat *.cmd *.mp4) Do (
    If Not Exist "%DirN%" MD "%DirN%"
    If /I Not "%%~nxA"=="%~nx0" RoboCopy . "%DirN%" "%%A" /MOV 1>NUL
    Set/A "limit-=1"
    If !limit! Lss 0 GoTo Check_DirN
)
Echo(Task Done!
Timeout -1 1>Nul

Последний раз редактировалось mik888em, 21.05.2022 в 15:47.
Ответить с цитированием