Localiza arquivos e agrupa em diretórios

2

Eu tenho uma pasta e subpastas e um grande número de arquivos da seguinte forma:

Folder  called Movies
Sub Folder called "009 - A bad Wolf"
Files called  " 009  A bad Wolf.avi"
Files  called  " 009  A bad Wolf.txt"
Files  called  " 009 - A bad Wold.nfo"
Sub folder   A damn Good Film
Files          >  A Very good Film .mp4
Files          >  A very good Film .nfo
Files          > A Very good Film.txt
Files          > American Babe -Estelle Feat Kan Wass.mkv
Files          > American Babe -Estelle Feat Kan Wass.nfo
Files          > American Babe -Estelle Feat Kan Wass-poster.jpg
Files          > American.History.X.1998.Bluray.1080p.DTS-HD-7.1.x264-Grym
Sub Folder     > Baste - taste
.
.
Files          > Baa Baa Sheep.ogg
Files          > Baa Baa Sheep.nfo
Files          > Baa Baa Sheep.txt
.
.
Files          > Saa Baa Sheep.mp3
Files          > Saa Baa Sheep.nfo
.
Files          > Zaa Baa Sheep.flv
Files          > Zaa Baa Sheep-poster.jpg
Files          > Zaa Baa Sheep.nfo
Files          > Zaa Baa Sheep.txt

Como posso obter cada conjunto semelhante de arquivos em diretórios individuais sem passar um por um? Existem 1075 arquivos e subpastas na subpasta e 6 na pasta principal + subpasta Eu estou totalmente fora da minha profundidade. Eu sei que tenho que usar find e exec mas como criar o diretório com nomes correspondentes? ou seja, deveria ser assim:

Folder > Movies
Sub Folder > 009 - A bad Wolf with the following files in this sub folder:        
        Files          >  009 - A bad Wolf.avi
        Files          >  009 - A bad Wolf.txt
        Files          >  009 - A bad Wold.nfo
 Sub folder     >  A damn Good Film with all the files of same name in this sub folder
 Sub Folder     > A Very good Film with all these files in this sub folder :            Files          >  A Very good Film .mp4
         Files          >  A very good Film .nfo
         Files          > A Very good Film.txt
Sub Folder     > American Babe -Estelle Feat Kan Wass with all these files of same name in this sub folder:
         Files          > American Babe -Estelle Feat Kan Wass.mkv
         Files          > American Babe -Estelle Feat Kan Wass.nfo
         Files          > American Babe -Estelle Feat Kan Wass-poster.jpg
Sub Folder     > American.History.X.1998.Bluray.1080p.DTS-HD with files of same name in this  sub folder:
          Files         > American.History.X.1998.Bluray.1080p.DTS-HD-7.1.x264-Grym
Sub Folder     > Baste - taste as above with files of same names in this sub folder
.
.
Sub Folder     > Baa Baa Sheep with files of same name in this sub folder:
       Files          > Baa Baa Sheep.ogg
       Files          > Baa Baa Sheep.nfo
       Files          > Baa Baa Sheep.txt
.
Sub Folder     > Saa Baa Sheep with files of same name in this sub folder:
       Files          > Saa Baa Sheep.mp3
       Files          > Saa Baa Sheep.nfo
.
Sub Folder     > Zaa Baa Sheep with files of same name in this sub folder:
       Files          > Zaa Baa Sheep.flv
       Files          > Zaa Baa Sheep-poster.jpg
       Files          > Zaa Baa Sheep.nfo
       Files          > Zaa Baa Sheep.txt
    
por seanbw 28.06.2016 / 06:27

1 resposta

1

É muito fácil realizar essa tarefa e eu uso esse método o tempo todo.

Navegue até o diretório em questão. Pressione SHIFT + Right Click (em uma seção em branco da pasta). Selecione "Abrir janela de comando aqui". Uma sessão de terminal será aberta neste diretório.

Enquanto estiver neste diretório, você pode criar as subpastas que deseja agora usando o Windows, a nova Pasta, etc. Ou você pode usar os comandos:

Make Directory (make a folder)
>mkdir foldername
Move all file extensions to new subfolder (e.g. all flv files)
>mv *.flv ./foldername

Se você deseja mover arquivos com títulos semelhantes, use um comando desta maneira: O * (asterisco) é um caractere selvagem. As citações mantêm a corda intacta segurando os espaços em branco; caso contrário, os espaços em branco serão ignorados.

>mkdir "baa black sheep"
>mv "baa black"*.* ./"baa black sheep"

Acima:
mv = movimento
"baa black" * = começa com "baa black" + * (qualquer string depois)
./ = este diretório
./foldername = a pasta neste diretório chamado nome da pasta

mv "baa black"*.* ./"baa black sheep" = move all files that begin with the string 'ball black' and move it into the directory 'baa black sheep'


Asimagensacimadevemajudá-loaentenderesseconceito,seforaprimeiravezquevocêtrabalhacomainterfacedelinhadecomando.


FYI:Éumaboaideiamanterseusnomesdearquivoscurtosesemespaços,assimcomoosdiretórios.Eutambémrecomendariaprocurarem"comandos do Windows DOS" para aprender alguns truques.

    
por 28.06.2016 / 06:49