É possível alterar um prefixo de nome de arquivo usando o comando rename com curingas?

0

Eu li o máximo possível de Como o comando Windows RENAME interpreta curingas como eu posso entender, e ainda não consigo decidir se existe alguma combinação de curingas que você pode usar para fazer o RENAME fazer isso:

Old file names: abc001.txt, abc002.txt, abc003.txt, ... etc
New file names: demo_001.txt, demo_002.txt, demo_003.txt, ... etc
or: x001.txt, x002.txt, x003.txt, ... etc
or: file01.txt, file02.txt, file03.txt, ... etc

O que eu sei é que rename abc*.txt xyz*.txt mudará todos os prefixos abc para xyz , mas somente porque abc e xyz são de tamanho idêntico. Existe um comando rename simples que irá lidar com um prefixo mais curto ou mais longo ... ou você tem que usar um processo em lote para realizar tais renomeações?

    
por omatai 08.01.2014 / 22:13

3 respostas

1

A resposta é Não, você não pode alterar o comprimento de um prefixo de nome de arquivo como deseja usando apenas o comando RENAME com curingas. Isso exigirá uma quantidade de scripts mais complexos, ou então uma ferramenta de terceiros não padrão.

Se você ler as regras com cuidado, verá que os curingas na máscara de origem não têm importância no resultado da renomeação - eles filtram apenas quais arquivos são renomeados. Os caracteres de prefixo não-curinga na máscara de destino substituem um por um pelos caracteres no nome original.

    
por 09.01.2014 / 05:03
1

No PowerShell, para seu primeiro exemplo, você pode usar:

Dir C:\folder | ren –NewName {$_.name -replace "abc","demo_"}

Adicione -whatif como último parâmetro se você quiser testar o comando antes de executá-lo

    
por 08.01.2014 / 22:50
0

Aqui está a maneira de fazer isso com o TCC / LE da JP Software, um interpretador de comandos cujo comando REN suporta expressões regulares:

ren ::abc(\d+.txt) ::demo_

Sem expressões regulares, ainda é um one-liner. Um simplesmente usa a função @INSTR[] variable e o comando FOR :

for i in (abc*.txt) do ren %i demo_%@instr[3,,%i]

Leitura adicional

  • Software JP. REN . Take Command / TCC Help.
  • Software JP. PARA . Take Command / TCC Help.
  • Software JP. @INSTR . Take Command / TCC Help.
por 08.01.2014 / 23:08