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.