Como renomear todos os arquivos que terminam com “.BAK”

Como renomear todos os arquivos que terminam com “.BAK”

Eu tenho um sistema de arquivos do Windows onde um problema em nosso software de backup renomeou centenas de arquivos.

A alteração fica assim:
"ABC.PDF" -> "ABC.PDF.BAK"

Isso aconteceu com alguns, mas não com todos os arquivos de um diretório.

Gostaria de renomear esses arquivos com o nome antigo, mas o script deve gerar ou ignorar os casos em que isso não seja possível, porque já existe um "ABC.PDF".

Não estou familiarizado com scripts em lote, mas o PowerShell também está disponível.

Responder1

Você pode fazer algo assim no PowerShell:

$files = dir *.BAK
foreach($file in $files) {
    Rename-Item $file $file.BaseName -ErrorAction Ignore
}

Só ocorrerá um erro se esses arquivos não existirem mais ou se você estiver tentando sobrescrever um arquivo.

Se você quiser ver o que fará primeiro, adicione o sinalizador -WhatIf.

informação relacionada