Maneira fácil de renomear todos os arquivos em um diretório no Windows [fechado]

9

Existe uma maneira fácil de renomear todos os arquivos em um diretório? O PowerShell é o caminho a seguir?

Eu gostaria de ir a partir disso:

c:\family_pics\
   img123.jpg
   img124.jpg

para isso:

c:\family_pics\ 
   family_pics_1.jpg 
   family_pics_2.jpg

Idealmente, eu gostaria de executar um script em um diretório que renomeie todos os arquivos com base no nome do diretório atual, preservando a extensão e percorra a árvore de diretórios recursivamente.

Even Mien
fonte

Respostas:

16

Com base em que tudo pode ser feito em uma linha do PowerShell (assim como tudo também pode ser feito em 1 linha do Perl), eis o código PS para um único diretório.

$i=0; get-childitem $dirname | foreach-object {

       rename-item "$dirname\$_" $("{0}_{1}{2}" -f $dirname, ++$i, $_.Extension)
}

Para fazer isso recursivamente, você agruparia o item acima em uma função e a chamaria em todos os diretórios da sua árvore. Você também pode substituir a string de formato por algo um pouco mais sofisticado, se precisar usar expressões regulares.

user2278
fonte
10

Isso é um pouco hacky, mas eu faço isso há 12 anos e sou bem rápido:

  • Abra um prompt de comando em c: \ family_pics e digite dir >> dir.xls
  • Abra o arquivo dir.xls no Excel
  • Destaque a primeira coluna, selecione "Texto em colunas" e adicione quebras de coluna nos caracteres de espaço (ignorando duplicatas)
  • Agora você tem uma boa tabela com seus nomes de arquivos atuais, tamanhos de arquivo etc.
  • Adicione uma nova coluna "ren" antes do nome do arquivo
  • Adicione uma nova coluna após o nome do arquivo e use as funções do Excel que você deseja gerar para o novo nome do arquivo. No seu caso, se você digitar os dois primeiros nomes de arquivos e clicar duas vezes no canto inferior direito da célula, o Excel detectará automaticamente o padrão e gerará os nomes restantes.
  • Salvar como ren.bat
  • Execute o arquivo em lotes que você acabou de criar e ele renomeará todos os seus diretórios

Embora possa não ser imediatamente óbvio, o Excel é muito adequado para esse tipo de tarefa, porque você pode usar qualquer tipo de fórmula que desejar para gerar os novos arquivos, usando entradas dos arquivos existentes (registro de data e hora, nome do arquivo, tamanho etc.) )

Portman
fonte
O Excel é o melhor gerador de código / script que eu conheço.
840 GvS
3

Embora você possa fazer coisas com um arquivo em lotes, eu descobri que é melhor ter mais controle, opções etc. e uma pista visual do que está prestes a acontecer.

Existe uma ferramenta gratuita chamada CKRename. O site do autor original parece ter desaparecido, mas o aplicativo é totalmente funcional e bastante popular (eu o uso há 8 anos). Baixar CKRename

Aqui está uma captura de tela em ação insira a descrição da imagem aqui

scunliffe
fonte
1

Você pode simplesmente destacar todos os que deseja no explorer e clicar com o botão direito do mouse no primeiro e renomeá-lo e o Windows renomeá-los todos para você com a mesma convenção de nomenclatura.

user2287
fonte
Tentei apenas começando com fileA.m, fileB.m, etc. Em vez de fileA_001.m, fileB_002.m, obtive fileA_001.m, fileA_001 (1) .m, fileA_001 (2) .m, etc.
jacobsee
1

ReNamer: http://www.den4b.com/

Consulte também: Como renomear parte de um nome de arquivo a partir de uma seleção de arquivos no Windows?

Solte sua pasta com imagens no ReNamer (as subpastas serão adicionadas recursivamente por padrão). Clique na coluna Nome para classificar por nome do arquivo, se desejar manter a ordem sequencial. A meta tag especial permitirá que você use o nome da pasta pai para renomear. Use as seguintes regras de renomeação:

  1. Excluir da posição 1 até o final (ignorar extensão)
  2. Insira ": File_FolderName: _" como prefixo (ignorar extensão)
  3. Serialize Incremental de 1 etapa 1 repita 1 como Sufixo (ignorar extensão)

insira a descrição da imagem aqui

cagcowboy
fonte
A renomeação de +1 foi incrível!
Chris Marisic
0

Faça o download do RenameFiles (freeware). É um dos únicos programas que realmente sinto falta desde que mudei do Windows para a Apple.

Parece que está disponível aqui http://it-falke.com/software/renamefiles/us_description.php, mas não tenho um PC para testar esse link. A última versão que usei foi 2.1.4. Foi realmente simples, mas versátil.

nome do usuário
fonte
0

isso retira os últimos quatro caracteres (geralmente a extensão)

dir *.jpg | % { ren $_.Name $_.Name.Substring(0,$_.Name.Length-4) }

Pode ser necessário adaptar o descrito acima para lidar com espaços ou seus requisitos específicos de renomeação

Goyuix
fonte