Como posso renomear muitos arquivos de uma só vez?


43

Preciso renomear um monte de arquivos para corrigir a ordem de classificação, portanto, preciso fazer uma espécie de "localizar e substituir" para poder substituir partes dos nomes de arquivos por vez.

Quais ferramentas devo usar? Eu prefiro a GUI, mas uma recomendação da ferramenta de linha de comando também seria adequada.

Respostas:


54

Existem alguns, mas eu recomendo o gprename, Instale gprename que é um bom compromisso entre usabilidade e funcionalidade.

Outras ferramentas são: renomear, krename Instale o krename , pyrenamer Instale pyrenamer , cuteRenamer, ...


6
pyRenamer não é ruim.
Skalka

6
Eu uso pyrenamer frequentemente e às vezes gprename, a menos que a alteração seja feita com muita facilidade na linha de comando. A melhor coisa sobre essas GUIs é a ação de 'visualização' integrada. Isso vai lhe poupar dores de cabeça.
Belacqua

4
+1 para gprename, apenas tentei e feito a renomeação necessária em 5 segundos
Pisu

Vergonha nem gprename ou pyrename pode tomar lista de arquivos para renomear a partir da linha de comando
artfulrobot

O gprename é ótimo em 14.04. Fez 300 pastas renomeando por regex em 15 segundos
3rgo

10

Eu realmente gosto de qmv do renameutilspacote. Ele permite que você use seu editor de texto favorito (baseado em terminal) para renomear arquivos. Eu prefiro invocá-lo com o -f doque fornece uma única coluna (uma linha por arquivo) com nomes de arquivos. Combinado com o poder do Vim, oferece todas as ferramentas necessárias para a edição massiva de nomes de arquivos.

http://www.nongnu.org/renameutils/



5

Se você gosta das expressões regulares shell e perl, recomendo rename. É tão claro quanto o nome.



3

Se você está familiarizado com o Emacs, acho que nada supera o Dired para esta tarefa. Mesmo se você não usar o Emacs com tanta frequência, poderá achar o Dired uma ferramenta útil.

sudo aptitude install emacs23-nox

Inicie o modo Directed do Emacs para um diretório:

emacs -nw path/to/dir/

Agora entre no modo de edição de diretório:

C-x C-q (ou seja, Ctrl + x seguido por Ctrl + q)

Agora você pode editar os nomes dos arquivos, como editar texto em todos os editores de texto simples. Você pode até optar por substituir os nomes de arquivos usando expressões regulares (observe que, infelizmente, o Emacs usa uma sintaxe diferente da PCRE).

Por exemplo, para renomear arquivos com contador (iniciando por 1):
M-x replace-regexp(ou seja, Alt + x seguido pela sequência "replace-regexp" digitada no minibuffer na parte inferior da tela).
Substitua regexp: DSCN\([0-9]+\).JPG
Substitua por: \,(format "P%04d.jpg" (1 + \#))

Para reutilizar um contador no nome do arquivo:
M-x replace-regexp
Substitua regexp: DSCN\([0-9]+\).JPG
Substitua por:\,(format "P%04d.jpg" (string-to-number \1))

Quando terminar, digite:

C-c C-c (ou seja, Ctrl + c seguido por Ctrl + c)

Ou, como alternativa, pressione a seguinte sequência para abortar suas alterações:

C-c Esc (ou seja, Ctrl + c seguido por Esc)


2

Eu costumo usar mmv , que é baseado em linha de comando e tem uma sintaxe de expressão um tanto peculiar, mas tendem a resolver a maioria dos meus problemas.



0

Na linha de comando, há também a possibilidade de usar magia de sed e shell:

ls *.c | sed "s#\(.*\)\.c#mv \0 \1.cpp#" | sh

1
Isso não parece funcionar como impresso. Você também pode usar '#' ou outro caractere em vez de "\" como separadores nos exemplos para possivelmente obter mais clareza. por exemplo, `ls .c | sed 's # ([az] ) \ c # \ 1.cpp #.' '(Este exemplo não é fazer a renomeação, só para exibir o novo nome de arquivo, para simplificar)
Belacqua

+1 Acho uma maneira muito legal (que funciona em todas as distros), sem instalar nada. Mas eu provavelmente usaria a -dopção para lsevitar listar o conteúdo de diretórios que também podem terminar .c(na maioria das vezes não é um problema, mas ainda ..).
Levite

0

O Windows tem um programa muito bom para isso, chamado Bulk Rename Utility. Aqui está o URL: http://www.bulkrenameutility.co.uk/Main_Intro.php .

Há uma versão unicode do Windows 98 que é portátil. Coloquei isso em uma pasta no meu sistema Linux (Mint Maya) e, quando o rodo pelo Wine, funciona como um encanto. O gui é muito fácil de usar e muito flexível.


Eu quase quero fazer isso em vinho. É muito melhor que o pyRenamer.
Teque5

0

Para mim, o pyRenamer funcionou melhor. Nada (infelizmente) chega perto do Total Commanders construiu sua ferramenta de renomeação. O pyRenamer não se integra ao Krusader, mas considerando o fato de que você não usa as ferramentas de renomeação com frequência, o pyRenamer é uma opção muito boa.


0

Esta é a ferramenta que eu uso: rnm ( página de manual ) ( mais exemplos )

Algum uso:

rnm file-name -ns new-filename             # single file
rnm ./* -ns '/n//i/'                       # files will be sorted and indexed.
rnm ./* -rs '/search/new/g'                # 'search' in filenames will be replaced with 'new'
rnm ./* -ns '/fn//i/' -ss 'search'         # only files/directories which contain 'search' in their name will be indexed (renamed).
rnm ./* -ns '/fn//id/' -fo                 # file only mode, directories will be ignored.
rnm ./* -ns '/fn//id/' -fo -dp -1          # recursive to subdirectories all the way.

etc...

O link para página web vai para neurobin.org/projects/softwares/unix/rnm e dá um 404.
Muru

@ muru: hmm, algo aconteceu com a página, atualizei para o link da página de manual.
Jahid

0

Pessoalmente, uso o Ant Renamer no Wine porque nada que eu tentei (Métamorphose, PyRenamer, GPRename, KRename) é tão poderoso, fácil de instalar e fácil de usar. E ainda é software livre, então não vejo o problema.


0

Krename é uma GUI do KDE para renomear arquivos, geralmente encontrada na maioria dos gerenciadores de pacotes.

Esta resposta se aplica à remoção de números iniciais que podem ser encontrados em arquivos de música como mp3s. Mas Krenamea massa renomeia também.

  1. Carrega os arquivos ou pastas selecionados. O Krename carrega todos os arquivos na pasta selecionada, basta clicar Opensem precisar selecionar todos os arquivos individualmente.

  2. Vá para a Destinationguia para substituir ou copiar arquivos para outra pasta.

  3. Vá para a Filenameguia e depois para a Advanced Filenameguia.

     Imagem "Nome do arquivo avançado" mostrando as configurações padrão.

  4. Comece removendo o token $na Templatejanela. Uma alteração ocorre na Renamedjanela abaixo. Nenhum nome de arquivo aparece, apenas as extensões de arquivo.

    3. A imagem mostra que os nomes de arquivos foram removidos, deixando as extensões de arquivo.

  5. Clique em Insert Part of Filename...e selecione as partes do nome do arquivo que você deseja manter. Esta operação incluirá todos os arquivos e as alterações serão óbvias na Renamedjanela abaixo.

    4. Imagem "Inserir parte do nome do arquivo ..." mostrando como selecionar o nome do arquivo destacando as seções preferidas.

  6. Clique em OK. Os arquivos são renomeados sem os números iniciais.

    5. Resultados finais mostrando.

  7. Por fim, clique Finishedno canto inferior direito.


0

Um utilitário de renomeação em lote da GUI mais recente que roda no Linux (também funciona no Mac e no Windows) é o Inviska Rename .

insira a descrição da imagem aqui

Além das funções de renomeação usuais, como substituir uma parte do texto por outro texto, inserir ou remover texto, renomear extensões de arquivo etc., essa ferramenta pode renomear pastas, renomear músicas com base em tags e renomear fotos usando suas informações Exif. Ele pode até renomear em lote usando atributos de arquivo como a data de criação ou modificação.

Outros recursos incluem visualizar os novos nomes de arquivos e desfazer a renomeação do lote, o que acho muito útil.

Fonte

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.