Renomeia automaticamente os arquivos com extensão de arquivo correta em massa

0

Eu tenho uma pasta com vários tipos de arquivo (mp4, mp4, jpg, wma .etc) e esses arquivos não têm extensão, ou todas as extensões de extensão desarrumadas, como mp3.mp3, mp3.jpg ou apenas nome do arquivo. Eu estava lendo que exiftool ou até mesmo python magic pode ser usado para atribuir extensão de arquivo correta no tipo de arquivo compreensão. Eu estou procurando solução baseada em exiftool onde esses arquivos podem ser renomeados com extensão de arquivo correta.

eg nome do arquivo (este é o arquivo mp3) nome_do_arquivo1.jpg (este é novamente o arquivo mp3, com jpg como extensão do arquivo) nome_do_arquivo.mp3.mp3.mp3 (repetição da extensão)

    
por Ved Varun 18.09.2016 / 04:19

2 respostas

0

Acho que o Irfanview irá autodetectar extensões de arquivos de imagem e solicitar que eu as renomeie

    
por 18.09.2016 / 07:50
0

Resposta publicada da outra cópia da pergunta…

No mais simples, tente isso (altere aspas duplas para aspas simples se estiver no Mac / Linux):
exiftool -ext "*" "-filename<$filename.$filetype" TargetDir
ou exiftool -ext "*" "-testname<%f.$filetype" TargetDir

Isso simplesmente adicionará a extensão a todos os arquivos no TargetDir. Para recursar, adicione -r . Se já existia uma extensão, isto adicionará a extensão adequada no final da extensão falsa, e. filename.mp3 se tornaria filename.mp3.jpeg.

Para uma versão mais complexa que elimina algumas das extensões anteriores, falsas, você poderia tentar algo assim:
exiftool -ext "*" "-filename<${filename;s/(\.(mp3|mp4|jpe?g|png|wma|mov))*($)//i}%-c.$filetype" TargetDir
o que tira as extensões que estão no centro parens na regex. O %-c adicionará um número se a renomeação resultante for uma duplicata, por ex. filename.jpeg, filename-1.jpeg,… nome-de-arquivo-n.jpeg.

Editar: adicionou a opção -ext para lidar com arquivos sem extensão.

    
por 18.09.2016 / 17:46