9

Мне нужна команда, которую можно запустить из командной строки, чтобы создать папку для каждого файла (на основе имени файла) в каталоге, а затем переместить файл во вновь созданные папки.

Пример :

Начальная папка:

Dog.jpg
Cat.jpg

Следующая команда прекрасно работает при создании папки для каждого имени файла в текущем рабочем каталоге.

for %i in (*) do md "%~ni"

Папка результатов:

\Dog\
\Cat\
Dog.jpg
Cat.jpg

Мне нужно сделать еще один шаг и переместить файл в папку.

Чего я хочу достичь:

\Dog\Dog.jpg
\Cat\Cat.jpg

Может ли кто-нибудь помочь мне с одной командой, чтобы сделать все это?

2 ответа2

9

Вторая команда будет

for %i in (*) do move "%i" "%~ni"

РЕДАКТИРОВАТЬ: Добавлено "" для% i, на основе комментария и 31415. Тпй.

1

Просто выполните эти команды последовательно:

Для создания папок для каждого файла:

for %i in (*) do mkdir "%~ni"

Для перемещения каждого файла в его папку:

for %i in (*) do move "%i" "%~ni"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .