elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  No consigo copiar carpetas mas antiguas. VBS. Help....
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No consigo copiar carpetas mas antiguas. VBS. Help....  (Leído 2,958 veces)
jarpon

Desconectado Desconectado

Mensajes: 28


Ver Perfil
No consigo copiar carpetas mas antiguas. VBS. Help....
« en: 24 Septiembre 2023, 15:02 pm »

Hola a todos

Necesito copiar carpetas mas antiguas de x dias dentro de una carpeta, hacia otra carpeta por tareas de mantenimiento.

Hago este scrpit pero no me encuentra nada en oSubFolders, y tiene la ruta correcta en ofolder.

Da error en esta linea (Ruta de acceso no encontrada):
   fso.GetFolder(sfolder).Copy sCustomerPicturesPath

Root=C:\Users\Mycomputer\Documents\SD2
MaxAgeInDays=2


Function MoveDeleteOldFolders(Root,MaxAgeInDays)

    Dim fso, sfolder, ofolder, oSubFolders
    Set fso = CreateObject ("Scripting.FileSystemObject")

    If fso.FolderExists(Root) Then

        Set ofolder = fso.GetFolder(Root)
        Set oSubFolders = ofolder.SubFolders
        Set sfolder = Nothing
        On Error Resume Next
        Err.clear

        For Each sfolder in oSubFolders
             If Err.Number <> 0 Then Exit For 'If no permission or no subfolder in folder
             On Error goto 0
            createdDate = FormatDateTime(sfolder.DateCreated, "2")   
            If (DateDiff("d", createdDate, Date) > MaxAgeInDays) Then
                fso.GetFolder(sfolder).Copy sCustomerPicturesPath
                fso.DeleteFolder sfolder, True
            End If
        Next
    End If
End Function

No se donde tengo el fallo.

Gracias por adelantado.


En línea

jarpon

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Re: No consigo copiar carpetas mas antiguas. VBS. Help....
« Respuesta #1 en: 24 Septiembre 2023, 17:20 pm »

Corrigo, funciona perfectamente hasta esta linea:
      fso.MoveFolder sfolder.path,sCustomerPicturesPath

Aqui me da error de acceso denegado.

sCustomerPicturesPath es una caprpeta de mi propio ordenador, no deberia denegar el acceso.


Function MoveDeleteOldFolders(Root,MaxAgeInDays)


    Dim fso, sfolder, ofolder, oSubFolders
    Set fso = CreateObject ("Scripting.FileSystemObject")

    If fso.FolderExists(Root) Then

        Set ofolder = fso.GetFolder(Root)
        Set oSubFolders = ofolder.SubFolders
        Set sfolder = Nothing

       On Error Resume Next
       Err.clear

        For Each sfolder in oSubFolders
           If Err.Number <> 0 Then
            ESAHMI.ESAMSGBOX Err.Number
            Exit For 'If no permission or no subfolder in folder
         End If
           On Error goto 0
         createdDate = FormatDateTime(sfolder.DateCreated, "2")         'Getting folder date 2 = vbShortDate - Returns date: mm/dd/yyyy

            If (DateDiff("d", createdDate, Date) > MaxAgeInDays) Then
      fso.MoveFolder sfolder.path,sCustomerPicturesPath
                 fso.DeleteFolder sfolder.path, True
           End If
        Next
   Else
      AppendLog("WARNING" &chr(9) &"DataMaintenance: " &chr(9) &"Data _
                maintenance not done, folder doesn't exist. " &Root)
    End If

    Set fso = Nothing
    Set ofolder = Nothing
    Set oSubFolders= Nothing
    Set sfolder = Nothing
End Function


En línea

jarpon

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Re: No consigo copiar carpetas mas antiguas. VBS. Help....
« Respuesta #2 en: 24 Septiembre 2023, 18:30 pm »

Solucionado, no se puede mover una capeta si esta en C: sin permisos de administrador, la he copiado primero y despues la borro y funciona correctamente.

Un saludo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Copiar Carpetas en Webforms de .net
.NET (C#, VB.NET, ASP)
shiftalekz 1 2,366 Último mensaje 9 Octubre 2010, 04:43 am
por [D4N93R]
Copiar carpetas con .bat
Windows
flash-back 2 4,585 Último mensaje 20 Noviembre 2012, 18:02 pm
por dato000
[Bat] Copiar Carpetas y Archivos USB
Scripting
KZN 3 6,900 Último mensaje 10 Marzo 2014, 14:47 pm
por Eleкtro
No consigo copiar archivos segun su tamaño en .bat
Scripting
mario290386 1 3,024 Último mensaje 19 Octubre 2016, 01:25 am
por Eleкtro
Batch para eliminar carpetas antiguas
Scripting
_CrisiS_ 5 9,531 Último mensaje 23 Agosto 2019, 06:48 am
por EdePC
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines