Como elimino ARchivos en Visual Basic

ikki
31 de Enero del 2005
Quisiera un ejemplo donde elimine archivos pero identificando si la carpeta esta VACIA que no borre, y ademas poder borrar subcarpetas de una Carpeta

Agradecere su ayuda

en?
31 de Enero del 2005
ikki, una forma de eliminar ficheros es con la instrucción «Kill», con la que puedes utilizar comodines '*' y '?' aunque tiene sus inconvenientes, por ejemplo puedes hacer (Kill "c:*.txt" pero no Kill "c:*.*") tampoco borra ficheros con los atributos SóloLectura o Oculto:
Kill RutaFichero


Una mejor alternativa es con un objeto del sistema de ficheros. Para usarlo activa su referencia desde el menú Proyecto > Referencias > Microsoft Scripting Runtime

El siguiente ejemplo elimina una carpeta y todo su contenido, recibida como parámetro:

Private Sub EliminarCarpeta(ByVal RutaCarpeta As String)
Dim Fs As FileSystemObject

If Dir(RutaCarpeta) = vbNullString Then Exit Sub 'Si no existe o está vacío salimos

Set Fs = New FileSystemObject
Fs.DeleteFolder Ruta, True
Set Fs = Nothing
End Sub


Si quieres eliminar sólo el contenido de la carpeta, pero no la carpeta, podrías modificar el código anterior. El siguiente código elimina todas las carpetas y ficheros contenidas en la ruta pasada como parámetro, ignorando los atributos:

Private Sub EliminarContenidoCarpeta(ByVal RutaCarpeta As String)
Dim Fs As FileSystemObject
Dim Carpeta As Folder, SubCarpeta As Folder
Dim Fichero As File

If Dir(RutaCarpeta) = vbNullString Then Exit Sub 'Si no existe o está vacío salimos

Set Fs = New FileSystemObject
Set Carpeta = Fs.GetFolder(RutaCarpeta)
For Each SubCarpeta In Carpeta.SubFolders
SubCarpeta.Delete True
Next
For Each Fichero In Carpeta.Files
Fichero.Delete True
Next
Set Carpeta = Nothing
Set Fs = Nothing
End Sub


Recuerda que nunca podrás eliminar nada que esté actualmente en uso.

Consulta en la ayuda los métodos y propiedades del objeto FileSystemObject.

__
Un saludo.
-----------------------------------------------------------------
Id visitando los nuevos foros de Almustafa!!! ;-)
http://www.multiingenieria.com/robotica/Foro/