Archivo bat para eliminar cualquier archivo que en su nombre contenga " (#).etc" donde "#" es cualquier numero.

Archivo bat para eliminar cualquier archivo que en su nombre contenga " (#).etc" donde "#" es cualquier numero y ".etc" es cualquier extensio.

Es un proceso de copiado con otro archivo bat se genero múltiples copias quisiera agilizar el proceso ya que los ARCHIVOS SE ENCUENTRAN TAMBIÉN EN SUBCARPETAS y es algo tedioso ya que son demasiadas.

Archivo bat para eliminar cualquier archivo que en su nombre contenga " (#).etc" donde "#" es cualquier numero y ".etc" es cualquier extensio.

Es un proceso de copiado con otro archivo bat se genero múltiples copias quisiera agilizar el proceso ya que los ARCHIVOS SE ENCUENTRAN TAMBIÉN EN SUBCARPETAS y es algo tedioso ya que son demasiadas.

Archivo bat para eliminar cualquier archivo que en su nombre contenga " (#).etc" donde "#" es cualquier numero y ".etc" es cualquier extensio.

Es un proceso de copiado con otro archivo bat se genero múltiples copias quisiera agilizar el proceso ya que los ARCHIVOS SE ENCUENTRAN TAMBIÉN EN SUBCARPETAS y es algo tedioso ya que son demasiadas.

Archivo bat para eliminar cualquier archivo que en su nombre contenga " (#).etc" donde "#" es cualquier numero y ".etc" es cualquier extensio.

Es un proceso de copiado con otro archivo bat se genero múltiples copias quisiera agilizar el proceso ya que los ARCHIVOS SE ENCUENTRAN TAMBIÉN EN SUBCARPETAS y es algo tedioso ya que son demasiadas.

1 respuesta

Respuesta
3

Prueba con esto:

@echo off
for /f "tokens=*" %%a in ('dir /b/s *^(*^).* ^| findstr ^(*[0-9]^)\.') do (del "%%a")

Si quieres asegurarte antes de que se van a borrar solo los archivos que quieres borrar puedes hacer una ejecución previa anteponiendo "echo" al "del" del "do". Algo como:

@echo off
for /f "tokens=*" %%a in ('dir /b/s *^(*^).* ^| findstr ^(*[0-9]^)\.') do (echo del "%%a")

Una vez que compruebes que es correcto ya lo puedes ejecutar con cierta tranquilidad. También puedes añadir la opción "/p" para que te pida conformidad, pero si hay muchos archivos puede ser muy tedioso. Los muchos caracteres "^" que aparecen tienen como función "escapar" el carácter que les sigue, es decir, indicarle al intérprete de comandos que no debe interpretarlo y que debe dejarlo pasar al sistema. En realidad lo que hay dentro de los paréntesis del FOR debería ser algo como:

dir /b/s *(*).* | findstr (*[0-9])\.

Prueba y me cuentas. (Por cierto que no me llegó comunicación desde la página indicándome que había una nueva consulta ni de la valoración de la anterior, algo está fallando en ese sentido, me encontré la pregunta por casualidad)

¡Gracias! 

Muchas Gracias, me funciono perfecto. Llevo poco en esto del Batch y me parece algo interminable de aprender.

Cierra, y califica, la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas