Cómo cambiar el nombre de todos los archivos que terminan en ".BAK"

Cómo cambiar el nombre de todos los archivos que terminan en ".BAK"

Tengo un sistema de archivos de Windows donde un problema en nuestro software de respaldo cambió el nombre de cientos de archivos.

El cambio se ve así:
"ABC.PDF" -> "ABC.PDF.BAK"

Esto sucedió con algunos, pero no con todos, los archivos de un directorio.

Me gustaría cambiar el nombre de dichos archivos a su nombre anterior, pero el script debería generar o ignorar los casos en los que esto no sea posible, porque ya existe un "ABC.PDF".

No estoy nada familiarizado con los scripts por lotes, pero PowerShell también está disponible.

Respuesta1

Puedes hacer algo como esto en powershell:

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

Sólo habrá un error si esos archivos ya no existen o si estás intentando sobrescribir un archivo.

Si desea ver qué hará primero, agregue la bandera -WhatIf.

información relacionada