Я хочу создать пакетный скрипт Windows, чтобы переместить около 2000 файлов и разделить их так, чтобы в каждой папке было по 10 файлов. Я пытался создать пакетный скрипт, но синтаксис действительно поражает. Вот что у меня пока
@echo off
:: Config parameters
set /a groupsize = 10
:: initial counter, everytime counter is 1, we create new folder
set /a n = 1
:: folder counter
set /a nf = 1
for %%f in (*.txt) do (
:: if counter is 1, create new folder
if %n% == 1 (
md folder%nf%
set /a n += 1
)
:: move file into folder
mv -Y %%f folder%nf%\%%f
:: reset counter if larger than group size
if %n% == %groupsize% (
set /a n = 1
) else (
set /a n += 1
)
)
pause
По сути, этот скрипт выполняет цикл по каждому TXT-файлу в каталоге. Он создает новый каталог в начале и перемещает 10 файлов в этот каталог, затем снова создает новую папку и перемещает еще 10 файлов в этот каталог и так далее. Однако у меня проблемы, когда переменная n
не увеличивается в цикле? Я уверен, что есть и другие ошибки, так как окно CMD закрывается для меня даже с pause
. Любая помощь или руководство приветствуется, спасибо за ваше время!