Cómo: Eliminar todos los archivos de un directorio en Visual Basic

El método DeleteFile del objeto My.Computer.FileSystem permite eliminar un archivo. Entre las opciones que ofrece se encuentran: si se va a enviar el archivo eliminado a *** Recycle Bin ***, si pedir al usuario que confirme el archivo debe eliminarse y qué hacer cuando el usuario cancele la operación.

Para eliminar todos los archivos de una carpeta

  1. Utilice el método My.Computer.FileSystem.GetFiles para devolver la colección de cadenas que representan los archivos en el directorio.

  2. Utilice un bucle For…Each con el método DeleteFile para eliminar los archivos de uno en uno.

    En el ejemplo siguiente se eliminan todos los archivos de la carpeta Mis documentos.

    For Each foundFile As String In My.Computer.FileSystem.GetFiles(
        My.Computer.FileSystem.SpecialDirectories.MyDocuments,
        Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, "*.*")
    
        My.Computer.FileSystem.DeleteFile(foundFile,
            Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
            Microsoft.VisualBasic.FileIO.RecycleOption.DeletePermanently)
    Next
    

Programación eficaz

Las condiciones siguientes pueden provocar una excepción:

  • La ruta de acceso no es válida por una de las razones siguientes: es una cadena de longitud cero, solo contiene un espacio en blanco, contiene caracteres no válidos o es una ruta de acceso de dispositivo (empieza por \ \. \) (ArgumentException).

  • La ruta de acceso no es válida porque es Nothing (ArgumentNullException).

  • La ruta de acceso supera la longitud máxima definida por el sistema (PathTooLongException).

  • Un nombre de archivo o de carpeta en la ruta de acceso contiene dos puntos (:) o está en un formato no válido (NotSupportedException).

  • El archivo está en uso (IOException).

  • El usuario no tiene los permisos necesarios para ver la ruta de acceso (SecurityException).

  • El archivo no existe (FileNotFoundException).

  • El usuario no tiene permiso para eliminar el archivo o el archivo es de sólo lectura (UnauthorizedAccessException).

  • Existe una situación de confianza parcial en la cual el usuario no tiene los permisos necesarios (SecurityException).

  • El usuario ha cancelado la operación y el parámetro onUserCancel está establecido en ThrowException (OperationCanceledException).

Vea también

Tareas

Cómo: Eliminar un archivo en Visual Basic

Cómo: Eliminar un directorio en Visual Basic

Cómo: Cambiar el nombre de un archivo en Visual Basic

Cómo: Determinar la ruta de acceso absoluta de un archivo en Visual Basic

Referencia

FileSystem

DeleteFile

RecycleOption

UICancelOption