AYUDA visual basic borrar archivos

Iniciado por guidosl, 13 Marzo 2009, 06:59 AM

0 Miembros y 1 Visitante están viendo este tema.

guidosl

buenas


para visual basic 6 a ver si alguien me puede ayudar


quisiera un comando q me elimine todos los archivos "aaa.txt" de un directorio (mejor dicho de una carpeta y todas sus subcarpetas)

se supone q una carpeta "c:\xxx" contiene un archivo "aaa.txt"(no puede contenet 2 xq no va a haber mas d 1 archivo con el mismo nombre jajaj) ademas contiene subcarpetas:

c:\xxx
c:\xxx\yyy
c:\xxx\yyy\ddd
c:\xxx\hhh\
c:\xxx\hhh\jjj

bueno en fin se supone q tambien en cada una de ellas existe el archivo "aaa.txt" el cual quiero eliminar

pero OJO!! solo ese archivo....no todos los archivos q se encuentran en las carpetas, ni tampoco todos los *.txt de las carpetas, solo los q contengan ese nombre completo

================================================== ==============================

tambien necesito reemplazar un archivo, que tengo en la carpeta del proyecto de visual basic(osea junto al .exe y los otros archivos de mi proyecto), en todo un directorio

siguiendo el ejemplo anterior, suponiendo que en la carpeta del proyecto de vb tengo un "aaa.txt" el cual quiero reemplazarlo porr cada uno de los q se encuentra en la carpeta c:\xxx y en sus subcarpetas


si alguien tiene alguna idea


muchas gracias

xkiz ™

#1
hola con la Funcion Kill podes eliminar los archivos
Código (vb) [Seleccionar]
Kill "C:\xxx\a.txt"
'Si queres eliminar varios archivos de un directorio podes utilizar "*", y si queres excluir ciertos archivos podes utilizar "?".


y con la Funcion RmDir podes eliminar Carpetas.
Código (vb) [Seleccionar]
RmDir "C:\xxxx"
' elimina directorios o carpetas, pero antes de eliminar directorios tenes que estar seguros que la carpeta no contiene archivos, si no
'dará un error en tiempo de ejecución.


Para reemplazar x archivo podes usar FileCopy, el primer parametro de esta
funcion es el archivo de origen y el segundo parametro es el destino.

para poder reemplazarlo el archivo no tiene que estar en "Solo Lectura" eso lo averiguas con GetAttr y con SetAttr podes cambiar la popiedad de solo lectura a Normal.

Código (vb) [Seleccionar]
Dim ret As Long

ret = GetAttr(App.Path & "\aaa.txt")
If ret = vbReadOnly Then
    SetAttr App.Path & "\aaa.txt", vbNormal
          FileCopy "C:\aaa.txt", App.Path & "\aaa.txt"
    else
          FileCopy "C:\aaa.txt", App.Path & "\aaa.txt"
End If

seba123neo

Hola, fijate que con esto podes listar todas las carpetas y subcarpetas de un path especifico..

Código (vb) [Seleccionar]
Private Sub Form_Load()
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ListarSubDirectorios FSO.GetFolder("c:\xxx")
End Sub

Private Sub ListarSubDirectorios(ByVal Carpeta As Object)
    For Each SubCarpeta In Carpeta.SubFolders
        Debug.Print SubCarpeta.Path
        ListarSubDirectorios SubCarpeta
    Next
End Sub


tambien tendrias que listar los archivos de cada carpeta pero bueno eso es facil solo busca sobre FSO...y ahi vas eliminando el archivo con el nombre indicado...y para reemplazar tambien...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson