Eliminar archivos con el Programador de tareas usando ForFiles

Eliminar archivos con el Programador de tareas usando ForFiles

Estoy intentando eliminar todas las carpetas y archivos todas las noches utilizando el programador de tareas. Estoy usando el siguiente comando en las acciones:

Programa/Guión: forfiles
Argumentos:/S /P C:\Users\david\AppData\Roaming\Apple Computer\MobileSync\Backup /C "cmd /c if @isdir==TRUE rd /s /q @file"

Esto no elimina ningún archivo o carpeta. ¿Qué me falta en este ejemplo?

Esto parece funcionar pero arroja un error: /S /P "C:\Users\Sales\AppData\Roaming\Apple Computer\MobileSync\Backup" /C "cmd /c rd /s /q @file

Error:

C:\Users\david>forfiles /S /P "C:\Users\david\AppData\Roaming\Apple Computer\MobileSync\Backup"  /C "cmd /c rd /s /q @file

ERROR: The system cannot find the file specified.

C:\Users\david>

Respuesta1

¿Por qué buscas subdirectorios cuando planeas golpear todo con "rd /s /q"?

Lo que tupodría(probablemente) estamos viendo es esto:

  1. archivoscrea una lista de archivos con los que trabajar: digamos... "C:\Este" y "C:\Esto\Aquello"
  2. Usted obtiene "C:\Este"entregado a ti
  3. Tu borras "C:\Este" recursivamente
  4. Usted obtiene "C:\Esto\Aquello" te lo entregué.
  5. Recibe un error al eliminarlo porque no existe.

¡También puede ocurrir otra condición! Puede haber un identificador de archivo abierto mientras se enumera el árbol, de modo que cuando intente eliminar "C:\Este", "C:\Esto\Aquello" todavía está bloqueado por forfiles. No sé si forfiles está escrito para evitar esto, pero tengocon seguridadencontrarse con esto mientras programa.

Sugerencia: elimine /S dearchivos(mejor) O agregue "bla, bla, bla".si existe @file"bla, bla, bla (no es lo mejor).

información relacionada