none
Borrar carpetas en una Subcarpeta excepto algunas mediante un Array RRS feed

  • Pregunta

  • Hola a todos, les escribo porque tengo un inconveniente con un script .vbs, el problema es el siguiente: Tengo un script que borra todas las carpetas en una Subcarpeta, excepto siertas carpetas que no quiero que borre listadas en un Array, el inconveniente es que el script me aparese el mensaje que se borraron las carpetas, pero cuando me fijo no borro nada y todo esta intacto, aca les dejo el script:

     

    Dim GoodFolders

    GoodFolders = Array("Carpeta 1","Carpeta 2","Carpeta 3","Carpeta 4","Cliente") 'Carpetas que no se deben borrar.

    Call ShowFolderList("F:\Mis datos") 'carpeta raiz.

    Sub ShowFolderList(folderspec)
        Dim fso, f, f1, fc, i, delete
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set f = fso.GetFolder(folderspec)
        Set fc = f.SubFolders
        For Each f1 in fc
        delete = True                                                'Borra todas las carpetas y subcarpetas excepto las del array.
            For i = 0 to UBound(GoodFolders)
                If f1.name = GoodFolders(i) Then delete = False
            Next
            If delete = True Then msgbox(f1.name)'f1.delete
        Next
    End Sub

     

    He reemplazado la linea delete = True, por fso.DeleteFolder(f & "\*"), pero me borra todas las carpetas y me tira un error que es el siguiente:

    Line: 15

    Char: 13

    Error: Path not found

    Code: 800A004C

    Sourse: Microsoft VBScript runtime error

     

    Mi pregunta es, ¿donde estaria el error, y como se solucionaria paso, a paso?, desde ya muchas gracias.

    sábado, 26 de noviembre de 2011 14:42

Respuestas

Todas las respuestas