O segundo comando seria
for %i in (*) do move "%i" "%~ni"
EDIT: Adicionado "" para o% i, com base no comentário de and31415. tnx.
Eu preciso de um comando que possa ser executado a partir da linha de comando para criar uma pasta para cada arquivo (baseado no nome do arquivo) em um diretório e depois mover o arquivo para as pastas recém-criadas.
Exemplo:
Pasta inicial:
Dog.jpg
Cat.jpg
O comando a seguir funciona muito bem na criação de uma pasta para cada nome de arquivo no diretório de trabalho atual.
for %i in (*) do md "%~ni"
Pasta de resultados:
\Dog\
\Cat\
Dog.jpg
Cat.jpg
Eu preciso dar um passo além e mover o arquivo para a pasta.
O que eu quero alcançar é:
\Dog\Dog.jpg
\Cat\Cat.jpg
Alguém pode me ajudar com um comando para fazer tudo isso?
O segundo comando seria
for %i in (*) do move "%i" "%~ni"
EDIT: Adicionado "" para o% i, com base no comentário de and31415. tnx.
Basta executar esses comandos em série:
Para criar as pastas para cada arquivo:
for %i in (*) do mkdir "%~ni"
Para mover cada arquivo para sua pasta:
for %i in (*) do move "%i" "%~ni"
Tags windows batch-file