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 :

Sauvegarde et destruction


Sujet :

VBScript

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 72
    Par défaut Sauvegarde et destruction
    Bonjour à tous, voilà mon soucis, en espérant que vous pourrez m'aider ...

    Je voudrais que tous les midi, des répertoire, de mon pc et du serveur soit sauvegardé sur un disque dur dans un répertoire qui viendrait de se créer automatiquement par rapport à la date du jour avec un truc du style : 'sauvegarde du 141008' et que le script efface en meme temps les répertoire de la meme racine vieux de plus de deux semaines... Voilà mon cas...

    Si quelqu'un pouvait m'aider, ça serait cool !
    Merci d'avance.

  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
    Il existe une possibilité de "Rechercher dans ce forum", "rechercher" dans d'autres, des FAQs, des Tutos ......
    Pour ma part, les questions que tu poses ont été abordées un très grand nombre de fois, beaucoup comporte des solutions dans divers discussions, alors ...... bonnes recherches.
    :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
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 72
    Par défaut
    Oui bon c'est vrai, j'ai un peu abusé, sorry mais j'étais super pressé par le temps...
    Sinon, voilà, je m'y suis mis, sauf que ça m'efface pas les vieux dossier, c'est normal ???

    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
    on error resume next
    Dim folder
    Dim FSO
    Dim nDossier
    Dim objFSO
     
    Set FSO = CreateObject("Scripting.FileSystemObject")
     
    Set nDossier = FSO.CreateFolder("D:\Utilisateur\BASE DE TEST\" & day(now) & "-" & month(now) & "-" & year (now))
     
    FSO.CopyFolder "D:\Utilisateur\GESTION SECRETARIAT\AFFICHE CASIER", nDossier
     
     
     
    set folder = FSO.GetFolder ("D:\Utilisateur\BASE DE TEST\")
     
     
        For Each subfolders in folder.subfolders
            If DateDiff("D", subfolders.DateLastModified, now) > 20 Then
            objFSO.DeleteFolder subfolders
            End If
        Next

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,
    - on ne peut "tuer" un répertoire que s'il est vide de tout fichier ...

    il te faut donc au préalable "tuer" les fichiers qu'il contient éventuellement

    - si le nouveau répertoire est sur le même volume (lecteur), tu pourras trouver plus pratique d'utiliser l'instruction Name As (qui a pour vocation de déplacer le fichier concerné, pour chacun de tes fichiers, vers ton répertoire de sauvegarde), ce qui fait que le répertoire "conteneur" se trouvera vide, puis de "tuer" le répertoire source

  5. #5
    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
    on ne peut "tuer" un répertoire que s'il est vide de tout fichier ...
    Salut ucfoutu, chez moi il est inutile de vider le dossiers de ces sous-dossiers et/ou fichiers, le Delete ne crée pas d'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If DateDiff("D", subfolders.DateLastModified, now) > 20 Then
     subfolders.Delete '<===
    End If
    :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 ← ← 👈

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 72
    Par défaut
    Bon en fait, ça marche, aprés une petite vérification, c'est bon !!! Merci à tous !

    voici le code pour ceux qui le voudrait par la suite...

    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
    on error resume next
    Dim folder
    Dim FSO
    Dim nDossier
    Dim objFSO
     
    Set FSO = CreateObject("Scripting.FileSystemObject")
     
    Set nDossier = FSO.CreateFolder("D:\Utilisateur\BASE DE TEST\" & day(now) & "-" & month(now) & "-" & year (now))
     
    FSO.CopyFolder "D:\Utilisateur\GESTION SECRETARIAT\AFFICHE CASIER", nDossier
     
     
     
    set folder = FSO.GetFolder ("D:\Utilisateur\BASE DE TEST\")
     
     
        For Each subfolders in folder.subfolders
    If DateDiff("D", subfolders.DateLastModified, now) > 20 Then
    subfolders.Delete
    End If
     
        Next

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 72
    Par défaut
    Bonjour à tous,
    voilà, je vous livre mon probléme qui m'est venu, en fait, dans cette copie, seulement 16,4 MO sur 1GO sont copiés, bizarre non ? Les sous dossiers ne sont pas pris en compte, peut etre yen a t'il trop ? Comprend pas !

  8. #8
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 72
    Par défaut
    Bonjour à tous, en fait, j'ai supprimé la premiére ligne de mon code et là, enfin, il me dit pourquoi ça marche pas ! c'est la fameuse : erreur 800a004c
    Alors je suis bloqué non ?

  9. #9
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par JPDU92 Voir le message
    Bonjour à tous, en fait, j'ai supprimé la premiére ligne de mon code et là, enfin, il me dit pourquoi ça marche pas ! c'est la fameuse : erreur 800a004c
    Alors je suis bloqué non ?
    c'est laquelle la ligne supprimée .?

    voir
    http://vb.developpez.com/faqvbs/?pag...#fsoCopyFolder

    les deux premiers paramètres de CopyFolder sont des chaines de caractères ..!

  10. #10
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 72
    Par défaut
    Merci pour la faq, mais bon, mon soucis est pas dedans !

    la ligne est : "on error resume next"
    donc maintenant, il peut me dire qu'elle est mon soucy !
    Comme j'ai dit précedemment, je suis bloqué !

  11. #11
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par bbil Voir le message
    ...
    les deux premiers paramètres de CopyFolder sont des chaines de caractères ..!
    relis la !

    dans la les paramètres utilisés sont des chaînes de caractères .. pas dans ton code ..

  12. #12
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 72
    Par défaut
    Bon je dois être con car je ne trouve pas la solution à mon probléme, j'ai rajouté les petits "true" mais rien n'y fait (et je ne penses pas que mon probléme venait de là entre nous...) je remets 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
    Dim folder
    Dim FSO
    Dim nDossier
    Dim objFSO
     
    Set FSO = CreateObject("Scripting.FileSystemObject")
     
    Set nDossier = FSO.CreateFolder("F:\SAUVEGARDE GC\" & day(now) & "-" & month(now) & "-" & year (now))
     
    FSO.Copyfolder "T:\GC", nDossier,True
    FSO.Copyfolder "D:\partages divisions", nDossier,True
     
     
    set folder = FSO.GetFolder ("F:\SAUVEGARDE GC\")
     
     
        For Each subfolders in folder.subfolders
    If DateDiff("D", subfolders.DateLastModified, now) > 20 Then
    subfolders.Delete
    End If
    Il me remet la belle box en piéce jointe...
    Images attachées Images attachées  

  13. #13
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Ce que bbil te dit (et tu ferais mieux de le croire quand il te dit que le prob vient de là), c'est que dans les paramètres de tes méthodes CopyFolder, tu ne dois avoir que des chaines de caractère.

    Or, toi, ton premier paramètre est bien une chaine de caractère, mais ton 2ème est un objet de type Folder.

    Utilise la méthode Path de cette objet, elle renvoie la chaine de caractère dont tu devrait avoir besoin.

  14. #14
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 72
    Par défaut
    Merci à tous, mais en fait, c'est un conflit avec la surveillance de mon domaine qui a entrainé tout ça ! Et oui, la gendarmerie, c'est surveillé quand et bloqué ! Merci beaucoup ! (ps : chez moi, ça marche...)

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

Discussions similaires

  1. [arbre] Sauvegarder un objet dans un fichier
    Par Guigui_ dans le forum Langage
    Réponses: 6
    Dernier message: 07/02/2003, 00h55
  2. Sauvegardes
    Par tastalian dans le forum DirectX
    Réponses: 12
    Dernier message: 15/10/2002, 01h30
  3. [ADO] Sauvegarde / lecture de recordset
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/09/2002, 16h54
  4. Sauvegarder une surface dans un fichier
    Par Freakazoid dans le forum DirectX
    Réponses: 6
    Dernier message: 18/08/2002, 15h23
  5. [Kylix] Sauvegarde de donnée utilisateur....
    Par Eclypse dans le forum EDI
    Réponses: 1
    Dernier message: 11/05/2002, 17h21

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