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

Scripts/Batch Discussion :

Optimisation d'un batch de sauvegarde


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Optimisation d'un batch de sauvegarde
    Bonjour à tous !

    J'ai besoin de faire un batch qui sauvegarde certains type de fichiers, de mes documents et du bureau, vers un serveur de fichier.
    Etant débutant je me suis arrangé pour faire un bat fonctionnelle mais néanmoins assez rustique par rapport à ce que j'ai pu voir sur le forum

    Si vous pouviez me dire ce que vous en pensez

    @echo on

    xcopy C:\Users\jverner\Documents\*.xml \\SERVNAS\Groupe\Grpinfo\testr /S /E /D
    xcopy C:\Users\jverner\Documents\*.pdf \\SERVNAS\Groupe\Grpinfo\testr /S /E /D
    xcopy C:\Users\jverner\Documents\*.doc \\SERVNAS\Groupe\Grpinfo\testr /S /E /D
    xcopy C:\Users\jverner\Documents\*.docx \\SERVNAS\Groupe\Grpinfo\testr /S /E /D
    xcopy C:\Users\jverner\Documents\*.ppt \\SERVNAS\Groupe\Grpinfo\testr /S /E /D
    xcopy C:\Users\jverner\Documents\*.txt \\SERVNAS\Groupe\Grpinfo\testr /S /E /D
    xcopy C:\Users\jverner\Desktop\*.xml \\SERVNAS\Groupe\Grpinfo\testr /S /E /D
    xcopy C:\Users\jverner\Desktop\*.pdf \\SERVNAS\Groupe\Grpinfo\testr /S /E /D
    xcopy C:\Users\jverner\Desktop\*.doc \\SERVNAS\Groupe\Grpinfo\testr /S /E /D
    xcopy C:\Users\jverner\Desktop\*.docx \\SERVNAS\Groupe\Grpinfo\testr /S /E /D
    xcopy C:\Users\jverner\Desktop\*.ppt \\SERVNAS\Groupe\Grpinfo\testr /S /E /D
    xcopy C:\Users\jverner\Desktop\*.txt \\SERVNAS\Groupe\Grpinfo\testr /S /E /D

    @echo off

  2. #2
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Bonjour,
    Là comme ça je ne vois pas trop d'optimisations possibles sauf si on peut faire un dictionnaire en BATCH ce dont je doute (si oui comment faire? ^^).
    Sinon j'ai pensé à ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    set Documents=%userprofile%\Documents
    set Desktop=%userprofile%\Desktop
    set Server=\\SERVNAS\Groupe\Grpinfo\testr
    
    FOR %%i IN ("%Documents%\*.xml" "%Documents%\*.pdf" "%Documents%\*.doc" "%Documents%\*.docx" "%Documents%\*.ppt" "%Documents%\*.txt" "%Desktop%\*.xml" "%Desktop%\*.pdf" "%Desktop%\*.doc" "%Desktop%\*.docx" "%Desktop%\*.ppt" "%Desktop%\*.txt") DO (
    	xcopy %%i %Server% /S /E /D
    )
    pause
    Après il faudrait voir pour ne faire qu'une seule boucle FOR avec toutes les extensions désirées ou alors un simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR %%i IN (%Desktop%\*) DO (
    Mais bon là ça copiera absolument tout, ce n'est pas ce qu'on recherche...
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci de ta réponse, il fonctionne légèrement moins bien que le mien certaines fois j'ai un message comme quoi les paramètres ne sont pas valides, mais ça me permet de voir une autre manière d'arriver au but !

    A quoi sert %%i?

  4. #4
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    %%i c'est tous les fichiers parcourus par la boucle en gros pour chaque fichiers .xml, etc...
    C'est le fichier traité, une fois la boucle termin"e pour le fichier, %%i se modifie en un autre fichier .xml et ainsi de suite.
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mars 2014
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Mars 2014
    Messages : 158
    Points : 465
    Points
    465
    Par défaut
    Double post (à supprimer)

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mars 2014
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Mars 2014
    Messages : 158
    Points : 465
    Points
    465
    Par défaut
    Essais comme ça (code à modifier)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for %%a in dico.txt do (
    Xcopy %%a "ta destination"
    )
    Et tu met tout tes doc (le chemin de destination) dans dico.txt un seul par ligne
    Je ne peut pas t'est la je suis sur le portable

  7. #7
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Je ne suis pas vraiment d'accord avec Comandant Chaos...
    Ça revient EXACTEMENT à faire du copier coller de ton code d'origine, à savoir ton .txt va ressembler à ça:
    C:\Users\jverner\Documents\*.xml
    C:\Users\jverner\Documents\*.pdf
    C:\Users\jverner\Documents\*.doc
    C:\Users\jverner\Documents\*.docx
    C:\Users\jverner\Documents\*.ppt
    C:\Users\jverner\Documents\*.txt
    C:\Users\jverner\Desktop\*.xml
    C:\Users\jverner\Desktop\*.pdf
    C:\Users\jverner\Desktop\*.doc
    C:\Users\jverner\Desktop\*.docx
    C:\Users\jverner\Desktop\*.ppt
    C:\Users\jverner\Desktop\*.txt
    Là je ne vois pas l'optimisation à par créer .txt en plus...
    J'avoue que ma méthode semble un peu crade à cause de ce qu'il y a dans mon "in()" mais bon je n'ai pas trouvé d'autre méthode pour le moment.
    De plus (entre autre) mon script utilise des variables d'environnement propres à Windows pour éviter les fautes de frappes et autres (cf: %userprofile%)
    Tu utilises ce script sous quelle version de Windows?
    L'utilises-tu en tant qu'administrateur?
    Et dernière question, peux-tu me screenshot/copier-coller l'erreur exacte avec un @echo on au lieu de mon @echo off?
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mars 2014
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Mars 2014
    Messages : 158
    Points : 465
    Points
    465
    Par défaut
    tu peux essayer comme ca avec deux script emboité

    SCRIPT1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "script2" [premier sous répertoire] [nom du dico]
    "script2" [deuxième sous répertoire] [nom du dico]
    et tu continue ainsi pour tout les sous répertoire
    dans ton dico tu n'indique plus que les nom de fichier

    SCRIPT2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cd %1
    for %%a in (%2.txt) do (
    Xcopy %%a "ta destination"
    )

  9. #9
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    @Comandant Chaos: Je suis désolé de dire ça mais tu te compliques la vie ^^
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mars 2014
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Mars 2014
    Messages : 158
    Points : 465
    Points
    465
    Par défaut
    oui mais pourquoi faire simple quand on peu faire compliquer XD (c'est la devise de notre prof de reseau)

  11. #11
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Ca commence à se corser haha !

    Je suis sous Windows Seven et sur une session avec les droits admin, voilà le screen avec echo on (mon pdf est copié ainsi qu'un dossier vide mais pas le reste):



    Nom : Capture.PNG
Affichages : 142
Taille : 56,0 Ko

  12. #12
    Membre confirmé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mars 2014
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Mars 2014
    Messages : 158
    Points : 465
    Points
    465
    Par défaut
    tes problème viennent du fait que dans ton chemin de destination tu ais des espaces et deuxième truc pour éviter les erreurs dans ton chemin utilise la variable d'environement %userprofile%
    utilise les guillemet "ton chemin" pour permettre a la cmd de comprendre que ton espace fait partie du chemin

    donc en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     xcopy "%userprofile%\desktop\procedure Téléphone.txt" "\\servnas\groupe\grpinfo\testr"
    C:\Users\jverner = %userprofile%

    si je suis floue n’hésite pas me redemander

  13. #13
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Comandant Chaos a raison (sauf son code qui te forcerait à faire une ligne pour chaque fichiers au lieu de simplement ajouter des "")
    en gros ça donne ça:
    C'est ma faute désolé ^^
    Sinon tape un xcopy /? dans un cmd et regarde tes paramètres...
    Retire les /E /S /D et ton xcopy vue que tu ne copies que des fichiers...
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

Discussions similaires

  1. [Batch] Sauvegarder le registre
    Par Antoinejdu44 dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 17/12/2021, 18h02
  2. [MSSQL 2005] Batch de sauvegarde
    Par bannik dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/04/2007, 16h39
  3. [DOS] Batch de sauvegarde avec xcopy
    Par damien77 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 18/03/2007, 13h53
  4. Batch de sauvegarde FTP
    Par PoichOU dans le forum Windows
    Réponses: 6
    Dernier message: 27/09/2006, 17h37
  5. (MS DOS) Un Batch qui sauvegarde un base
    Par Furius dans le forum Administration
    Réponses: 13
    Dernier message: 11/10/2005, 15h28

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