Я пытаюсь сгруппировать файлы, расположенные в некотором порядке, чтобы я мог сжать их. У меня есть m * n файлов в моей папке и wi sh, чтобы переместить n файлов в m папок так, чтобы они были расположены в алфавитном порядке (или в порядке создания даты, в зависимости от того, что выполнимо). Таким образом, для файлов {A, B, C, D, E, F} I w sh необходимо создать две новые папки 1 и 2, в которых 1 содержит {A, B, C}, а 2 содержит {D, E, F}. Если есть код, который делает то же самое на ма c, это тоже было бы здорово, но я в первую очередь хочу сделать это на windows.
Я нашел похожий вопрос , однако я не могу создавать новые папки внутри l oop или перемещать в них файлы.
@echo off
set /a "filesPerChunk=3, idx=0"
set /a fcount=1
for /F "delims=" %%I in ('dir /a-d /b') do (
echo Processing %%I
set /a "idx=idx+1"
set /a "mod=idx %% filesPerChunk"
if !mod! equ 0 (
md File-%fcount%
echo --- END OF CHUNK %fcount% ---
pause
)
move I File-%fcount%
if !mod! equ %filesPerChunk%-1(
set /a fcount+=1
)
)
Я пытался извлечь значения из fcount для создания новых папок, но, как я уже говорил, у меня нет большого опыта написания пакетных скриптов, поэтому я не знаю, имеет ли это смысл .
РЕДАКТИРОВАТЬ: Так что мне пришлось переместить несколько команд здесь и там, потому что я понял, что не смогу переместить файлы, если у меня была только последняя проверка при создании файла, но я не уверен, что это работает