arquivo em lote para adicionar o sufixo ao nome do arquivo em uma pasta com uma condição

0

Estou tentando criar um arquivo em lotes para automatizar um processo: Eu preciso verificar em uma pasta se o nome de arquivos tem prefixo "A-" Se não, eu preciso adicioná-lo. Eu posso nomear a pasta como o prefixo se isso puder ajudar!

Obrigado!

    
por Genko 28.10.2016 / 11:21

2 respostas

1

Se não precisar ser um arquivo em lotes, você poderá usar ReNamer . Você pode salvar suas regras de renomeação como uma predefinição e usá-las para renomear seus arquivos / pastas via linha de comando ou tarefas agendadas, automaticamente.

Depoisdesalvarsuasregrascomoumapredefinição(porexemplo,A-Preset),vocêpoderáusá-laspararenomearautomaticamentepormeiodalinhadecomando:

ReNamer.exe/rename"A-Prefix" C:\Test

As regras acima simplesmente removem o prefixo A- existente e, em seguida, o adicionam novamente. Os arquivos que já possuem A- prefixo permanecerão inalterados após uma operação de renomeação.

Usar uma GUI para configurar regras de renomeação e testá-las pode ser mais fácil do que ter que mexer em arquivos de lote complexos.

    
por 29.10.2016 / 10:07
0

Isso é simples com JREN.BAT - um utilitário de renomeação de expressão regular . JREN é um script puro (lote / JScript híbrido) que é executado nativamente em qualquer máquina Windows do XP em diante - nenhum arquivo exe de terceiros é necessário. A documentação completa está incorporada no utilitário - use JREN /? no prompt de comando para obter ajuda. ( jren /?? para ajuda paginada)

Para adicionar condicionalmente o prefixo A- a todos os arquivos da pasta atual:

call jren "^" "A-" /fx "A-*"

O primeiro argumento corresponde ao início do nome do arquivo. O segundo argumento "substitui" a partida por "A-" (Insere "A-" no começo). A opção / FX exclui todos os arquivos que já começam com "A -"

Você pode especificar uma pasta diferente adicionando a opção /P "yourPath" .

Você pode ter o prefixo correspondente ao nome da pasta pai, adicionando um loop FOR. Por exemplo, suponha que você tenha um catálogo de arquivos mp3 em "c: \ música". Cada pasta em "\ música" representa um álbum e cada mp3 em uma pasta de álbum é uma música desse álbum. Você pode usar o seguinte para prefixar cada música com o nome do álbum, somente se ainda não estiver lá:

@echo off
for /d /r "c:\music" %%F in (*) do call jren "^" "%%~nxF-" /p "%%F" /fm *.mp3 /fx "%%~nxF-*"
    
por 28.10.2016 / 14:58