Estoy tratando de copiar los archivos de un directorio en la última fecha de modificación es dentro de las 24 horas de la fecha actual. Estoy usando un comodín en la ruta de archivo como cambia cada día estoy usando;

option explicit

dim fileSystem, folder, file
dim path 

path = "d:\x\logs"

Set fileSystem = CreateObject("Scripting.FileSystemObject")
Set folder = fileSystem.GetFolder(path)

for each file in folder.Files    


           If DateDiff("d", file.DateLastModified, Now) < 1 Then


   filesystem.CopyFile "d:\x\logs\apache_access_log-*", "d:\completed logs\"

        WScript.Echo file.Name & " last modified at " & file.DateLastModified
    end if
next

Lamentablemente esto parece haber copiado todos los archivos, y no sólo el recientemente modificadas. Puede alguien me apunte en la dirección correcta?

muchas gracias

Martin.

InformationsquelleAutor Martin North | 2010-06-09

3 Comentarios

  1. 3

    Cómo sobre:

    filesystem.CopyFile "d:\x\logs\" & file.name, "d:\completed logs\"
    • genial, muchas gracias por su ayuda. Puedo ver a dónde me iba mal ahora.
  2. 1

    Cambiar la línea a:

    filesystem.CopyFile file, "d:\completed logs\" 

    Que eran copia de cada archivo en el directorio tan pronto como un archivo corresponde a sus criterios

    • El código de arriba probablemente causará un error debido a que la variable archivo es un archivo de objeto y no de la cadena que representa la ruta del archivo, que es lo que el método CopyFile está buscando. VBS es muy indulgente,… por lo que puede trabajar, pero mi apuesta es que se produce un error. Rápidamente se puede solucionar este problema mediante el uso de los objetos de archivo de la «ruta» de atributo. el sistema de ficheros.CopyFile archivo.Camino «d:\completed logs\»

Dejar respuesta

Please enter your comment!
Please enter your name here