Перенести каждый файл в свою папку и переименовать папку в имя из имени файла?
Есть каталог с огромным количеством файлов, файлы имеют имя: "Вася_дата_создания_файла.ts", "Федя_дата_создания_файла.ts" и т.д. даты создания файлов в именах - разные, так вот, нужно что бы все файлы с именем Вася, но разными датами создания файлов в именах перенеслись в папку с именем Вася, папка тоже должна сама создатся, файлы с "Федя" перенеслись в папку Федя и т.д., ориентир я так думаю определения имени папки и одинаковости файлов которые в эту папку нужно перенести это первый знак "_".
Практически осталось сделать только вложенный цикл for /f для разделения имени файла на части по символу разделителю (на сколько я понял в вашем случае символом разделителем будет "_"). Имя файла лежит в переменной цикла %%~nf
Что-то типа такого:
for /f "tokens=1 delims=_" %%a in ("%%~nf") do (
md "%%a" 2>nul
move /Y "%%f" "%%a\"
)
Эту конструкцию завернуть в первый for из вашего примера.
Тут только схематично, у меня сейчас под рукой винды нет, проверить не могу.
Будут ошибки, отключайте echo off, увидите в какой команде произошла ошибка, дальше смотрите справку по этой команде. Как получить справку написал в своем ответе.
Проходитесь по всем файлам в каталоге с помощью цикла for.
Выделить подстроки в имени файла можно с помощью for /f, установив соответствующий разделитель.
Создать каталог md
Перенести файл: move
За подробностями:
for /?
md /?
move /?
Наверняка понадобится отложенное расширение переменных: setlocal /?