Comando CMD para criar pasta para cada arquivo e mover o arquivo para a pasta

9

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?

    
por Tom 31.05.2014 / 21:35

2 respostas

9

O segundo comando seria

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

EDIT: Adicionado "" para o% i, com base no comentário de and31415. tnx.

    
por 31.05.2014 / 22:27
-1

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"
    
por 13.12.2016 / 10:58