Adicione a extensão jpg a muitos arquivos

4

Eu tenho uma pasta com muitas pastas com muitos arquivos e talvez mais pastas com mais arquivos, onde alguns arquivos perderam sua extensão. Eu acredito que eles são todos jpgs, mas eu posso estar errado. Alguma idéia de como adicionar novamente as extensões a todos esses arquivos sem fazer isso um por um?

Eu posso fazer isso no Windows 7 ou no Ubuntu 8.10.

    
por pupeno 26.08.2009 / 20:43

6 respostas

3

Eu fiz assim

find . -type f -iregex ".*[^\(\.jpg\)]" -exec mv "{}" "{}.jpg" ";"
    
por 26.08.2009 / 20:59
7

Você pode fazer isso através do cmd no windows.

rename * *.jpg


Editar:
Para aplicar a pastas aninhadas, você pode usar;

for /r %x in (*) do rename "%x" *.jpg

    
por 26.08.2009 / 20:49
2

Se o uso do powershell for uma opção, esta postagem do SO deve ser exatamente o que você quer.

    
por 26.08.2009 / 20:46
1

No Linux

ls | while read file ; do mv $file $file.jpg; done

No Windows

Eu gosto de usar Rename4u que é um utilitário freeware.

    
por 26.08.2009 / 20:49
0

Renomeador de extensão faz o trabalho.

    
por 26.08.2009 / 20:46
0

Para Linux (ou MSWindows com CygWin)

Se você deseja adicionar apenas um sufixo aos arquivos que são, na verdade, JPEGs, tente o seguinte:

$ find . -type f  ! -name '*.jpg'  -print | while read f
> do case "$(file "$f")" in
>    *JPEG*) mv -iv "$f" "$f.jpg" ;;
>    esac
> done

Qual será:

  1. Imprimir caminhos que são arquivos sem o sufixo *. jpg ( encontrar ),
  2. Verifique o conteúdo desses arquivos ( arquivo $ f ),
  3. Para arquivos JPEG, renomeie-os com um sufixo _ .jpg .
por 28.09.2009 / 20:27