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 :

Copier des fichiers de + de 30 jours


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 102
    Par défaut Copier des fichiers de + de 30 jours
    Bonjour,

    je souhaiterai copier des fichiers de + de 30 jours d'un dossier "Source" à un autre "Destination"

    Je rappelle que je débute en VBS.

    Merci d'avance pour votre aide et compréhension

    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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Dim Source
    Dim Destination
    Dim objFSO, oShell,Folder 
     
    Source = "E:\Program\projets\Traitement\Etude\DossierA"
    Destination = "S:\Traitement\Etude\DossierA\Safe"
     
     
    AgeMaximalFichiers = 30
     
    DateSysteme = Date
     
     
    '--------------------------------------------------------------
    'Copie des fichiers de + de 30 jours DossierA n-1 dans le dossier Safe
    '--------------------------------------------------------------
     
    Sub Copie des fichiers
     
    Set Folder = fso.Getfolder(Source)
    For Each File In Folder.Files
       If (DateDiff("d", File.DateCreated, DateSysteme) > AgeMaximalFichiers) Then
    		If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
            File.Copy DestDir(Destination)
    	Else
     
    End If
     
    End Sub
     
    'Traitement de la fonction
     
    Copie des fichiers

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    Je rappelle que je débute en VBS
    Où trouver l'aide en ligne pour VBScript ?, cela te permettrai de trouver la solution plus vite que d'attendre une réponse.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Le nom d'une fonction ou d'une procédure(Sub) ne doit pas contenir d'espace tel que tu l'as fait
    Sub Copie des fichiers
    Ce serait mieux sous la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sub Copie_des_fichiers()
    La ligne 24 est incorrecte, il faut mettre ce car DestDir c'est le dossier destination des fichiers à copier
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  4. #4
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 102
    Par défaut Merci pour les réponses
    Merci encore pour vos réponses

    Après modifications, je rencontre toujours le même problème,
    les fichiers de + de 30jours ne sont pas copiés dans le dossier de destination.
    J'ai bien des fichiers.bak de plus de 3 mois dans mon dossier source.
    Merci pour votre aide.

    Modifié en vert

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Dim Source
    Dim Destination
    Dim objFSO, oShell,Folder 
     
    Source = "E:\Program\projets\Traitement\Etude\DossierA"
    Destination = "S:\Traitement\Etude\DossierA\Safe"
     
     
    AgeMaximalFichiers = 30
     
    DateSysteme = Date
     
     
    '--------------------------------------------------------------
    'Copie des fichiers de + de 30 jours DossierA n-1 dans le dossier Safe
    '--------------------------------------------------------------
     
    Sub Copie_des_fichiers 
    Set Folder = fso.Getfolder(Source)
    For Each File In Folder.Files
       If (DateDiff("d", File.DateCreated, DateSysteme) > AgeMaximalFichiers) Then
    		If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
            File.Copy DestDir 
           Else
     
    End If
     
    End Sub
     
    'Traitement de la fonction
     
    Copie des fichiers

  5. #5
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Essaie avec ce :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Dim Source
    Dim Destination
    Dim objFSO, oShell,Fold,Fich 
     
    Source = "E:\Program\projets\Traitement\Etude\DossierA"
    Destination = "S:\Traitement\Etude\DossierA\Safe"
    
    AgeMaximalFichiers = 30
     
    DateSysteme = Date
    
    '--------------------------------------------------------------
    'Copie des fichiers de + de 30 jours DossierA n-1 dans le dossier Safe
    '--------------------------------------------------------------
    Sub Copie_des_fichiers()
    Set Fold = fso.Getfolder(Source)
    For Each Fich In Fold.Files
       If (DateDiff("d", Fich.DateCreated, DateSysteme) > AgeMaximalFichiers) Then
    		If Fich.Attributes And 1 Then Fich.Attributes = Fich.Attributes - 1
                Fich.Copy Destination ' puisque tu l'as déjà définie 
       End If
     
    End Sub
     
    'Traitement de la fonction
     
    Copie_des_fichiers
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  6. #6
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 102
    Par défaut
    Merci, je crois que cela ne va pas être facile. J'ai toujours le même problème ??


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Dim Source
    Dim Destination
    Dim objFSO, oShell,Fold,Fich 
     
    Source = "E:\Program\projets\Traitement\Etude\DossierA"
    Destination = "S:\Traitement\Etude\DossierA\Safe"
    
    AgeMaximalFichiers = 30
     
    DateSysteme = Date
    
    '--------------------------------------------------------------
    'Copie des fichiers de + de 30 jours DossierA n-1 dans le dossier Safe
    '--------------------------------------------------------------
    Sub Copie_des_fichiers()
    Set Fold = fso.Getfolder(Source)
    For Each Fich In Fold.Files
       If (DateDiff("d", Fich.DateCreated, DateSysteme) > AgeMaximalFichiers) Then
    		If Fich.Attributes And 1 Then Fich.Attributes = Fich.Attributes - 1
              Fich.Copy Destination  puisque tu l'as déjà définie 
       End If
     
    End Sub
     
    'Traitement de la fonction
     
    Copie_des_fichiers

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

Discussions similaires

  1. Copier des fichiers de moins de 2 jours
    Par 01Please dans le forum VBScript
    Réponses: 0
    Dernier message: 10/06/2014, 14h09
  2. Utiliser mon tableau pour copier des fichiers
    Par Paloma dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 31/10/2006, 18h38
  3. Copier des fichiers d'une machine à une autre
    Par Empty_body dans le forum Réseau
    Réponses: 3
    Dernier message: 29/10/2006, 12h44
  4. copier des fichiers
    Par Daeron dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/11/2004, 14h45
  5. Batch pour copier des fichier
    Par borgfabr dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 09/03/2004, 07h55

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