IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Date de création de fichiers


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 54
    Par défaut Date de création de fichiers
    Salut à tous!
    Donc, j'ai déja demander de l'aide sur ce forum avec succès, d'ailleur, je les remercies. Il y a juste un dernier truc sur lequel je bloque. J'effectue donc une recherche de fichier par extension et une fois celle-ci effectuée, je copie ces fichiers sur un serveur distant. Ceci fonctionne mais je souhaiterai uniquement copier les fichiers qui ont une date de création inférieur à 1 ans.
    Malgré quelque recherche, je n'est pas trouvé.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    'Rechercher les fichiers
    msgbox "Recherche de documents Word (Ceci peut prendre quelques minutes)",, "Programme de sauvegarde"
    strComputer = "." 
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    Set colFiles = objWMIService.ExecQuery _
    ("SELECT * FROM CIM_DataFile WHERE Drive = 'C:' AND Extension = 'doc'")
    For Each objFile in colFiles
    'Wscript.Echo objFile.Name
    objFSO.CopyFile objFile.Name,repertoiresauv & Nommachine & "\"
    Next
    msgbox "Copie des fichiers terminés",,"Programme de sauvegarde"
    Merci de m'aider!

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    En cherchant un peu sur le forum, tu aurais trouvé cela :
    http://www.developpez.net/forums/sho...d.php?t=209141
    Je pense que cela devrais t'aider.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 54
    Par défaut
    Donc voici pour l'instant ce que j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    'Rechercher les fichiers
    msgbox "Recherche de documents Word (Ceci peut prendre quelques minutes)",, "Programme de sauvegarde"
    strComputer = "." 
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    Set colFiles = objWMIService.ExecQuery _
    ("SELECT * FROM CIM_DataFile WHERE Drive = 'C:' AND Extension = 'doc'")
    For Each objFile in colFiles
    Set objReadOnlyFile = objFSO.GetFile(objFile.Name)
    if DateDiff("d",objReadOnlyFile.DateLastModified ,Date)> 1 then
    'Wscript.Echo objFile.Name
    objFSO.CopyFile objFile.Name,repertoiresauv & Nommachine & "\"
    end if
    Next
    msgbox "Copie des fichiers terminés",,"Programme de sauvegarde"
    A quoi correspond le > 1 dans le If? ainsi que le "d"?
    Merci pour vos réponses!

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Vu les problèmes pour détecter une différence d'un an avec DateDiff, j'utiliserais plutôt cette syntaxe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if objReadOnlyFile.DateLastModified < DateAdd("yyyy", -1, Date) then
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 54
    Par défaut
    Citation Envoyé par AlainTech
    Vu les problèmes pour détecter une différence d'un an avec DateDiff, j'utiliserais plutôt cette syntaxe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if objReadOnlyFile.DateLastModified < DateAdd("yyyy", -1, Date) then
    Je dois avoir un probleme avec la boucle If, comment lui dire que si le fichier a une date de création supérieur a 1 ans, de pas le copier.
    Merci!

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    J'ai écrit le code ci-dessus pour donner un exemple de syntaxe sans relire toute la discussion pour connaître la question d'origine mais...
    T'arrive-t-il de réfléchir, parfois?

    Ou bien, comptes-tu venir ici à chaque problème rencontré?

    Dans ce que j'ai écrit, on rentre dans le If si la date du fichier est plus petite que "aujourd'hui moins 1 an".

    Que penses-tu devoir faire pour obtenir ce que tu veux?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  7. #7
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 54
    Par défaut
    C'est ce que j'ai fais! Je demande une simple confirmation.
    Voici actuellement ce que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    msgbox "Recherche de documents Word (Ceci peut prendre quelques minutes)",, "Programme de sauvegarde"
    strComputer = "." 
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    Set colFiles = objWMIService.ExecQuery _
    ("SELECT * FROM CIM_DataFile WHERE Drive = 'C:' AND Extension = 'doc'")
    For Each objFile in colFiles
    Set objReadOnlyFile = objFSO.GetFile(objFile.Name)
    if objReadOnlyFile.DateLastModified < DateAdd("yyyy", -1, Date) then
    'Wscript.Echo objFile.Name
    objFSO.CopyFile objFile.Name,repertoiresauv & Nommachine & "\"
    end if
    Next
    msgbox "Copie des fichiers terminés",,"Programme de sauvegarde"
    La copie fonctionne mais il me copie aussi des fichiers qui datent de plus d'un ans. Merci!

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if objReadOnlyFile.DateLastModified < DateAdd("yyyy", -1, Date) then
    Encore une fois, je n'ai pas vérifié tout ton code mais quand je vois ce qui est écrit ci-dessus, ça m'étonnerait qu'on parle de date de création...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Date de création de fichier
    Par clao260 dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/05/2008, 10h12
  2. Réponses: 2
    Dernier message: 28/11/2007, 21h02
  3. Impossible de copier la date de création du fichier source
    Par azerazerazer dans le forum Windows XP
    Réponses: 4
    Dernier message: 28/11/2007, 20h13
  4. Recopie de fichiers :date de création du fichier perdue
    Par mugwump dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 30/08/2007, 16h17
  5. Problème de précision sur date de création des fichiers
    Par Bruno Orsier dans le forum Delphi
    Réponses: 2
    Dernier message: 07/06/2007, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo