У меня есть корневая папка: C:\Users\username\Desktop\New, которая содержит файлы .mp3 с такими именами:
20162406_3346_234958_ 97270 791720411
20162305_3315_163017_ 97620 734220699
Я попытался создать пакет, который бы сортировал их по первым 5 цифрам 4-й серии чисел (в данном случае 97270 или 97620), создавал папки с такими именами и затем перемещал все файлы в свою конкретную папку.
Вот что я придумал:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
set "sourcedir=C:\Users\username\Desktop\New folder"
for /f "tokens=1,2,3,4 delims=_" %%a in ('dir /b /a-d *_*_*_*.mp3') do (
set x= %%d
set y= !x:~1,5!
mkdir "!y!" 2>nul
move "%%a_%%b_%%c_%%d" "!y!"
)
endlocal
Оно работает! но я хотел бы знать, как добавить текст в имена папок, например, создать папку с именем:
97270 - Бла Бла Бла или
Бла Бла Бла - 97270
«Bla Bla» не должен зависеть от чего-либо, взятого из имени файла, скорее, он должен быть установлен пользователем при отказе от пакета.
Мне не удалось найти правильный синтаксис для него.