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 :

SCRIPT sauvegarde automatique avec un batch [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut SCRIPT sauvegarde automatique avec un batch
    Bonjours,
    J'essaye de créer un batch qui permet de copier les dossier et fichiers d'un répertoire puis de les éffacer du répertoire sources. Cette partie fonctionne, cependant pour la copie j'utilise la commande XCOPY avec le paramètre /D:%M%-%J%-%A%. Le problème est que j'aimerais que la XCOPY ne copie que les fichier a une date antérieur a la date rentré et non après la date comme c'est le cas normalement.

    voici le code
    en éspérant que vous pourez m'aider^^.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @echo off
    cls
    Echo Copie des fichier en cours
    Set J=%date:~0,2%
    Set M=%date:~3,2%
    Set A=%date:~6,4%
    
    xcopy "G:\Mes documents" "I:\Nouveau dossier" /E /I /Y /D:%M%-%J%-%A% >"I:\NOM.TXT"
    pause
    
    Find /V /i "fichier" "I:\NOM.TXT">"I:\09_dpt_protos\essaie.txt"
    pause
    For /F "Tokens=1,2,3* delims=G" %%i in ('type "I:\essaie.txt"') Do del "G%%i %%j" Echo fin de la copie
    pause
    Si je me suis mal exprimé pour présenter mon problème fait le moi savoir^^
    merci

  2. #2
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Salut,

    Avec xcopy, il faut au moins une étape intermédiaire, mais le mieux c'est de te tourner vers "robocopy".

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    Merci pour la réponse mais tu pourrrais parler de l'étape intermédiaire STP. Et pour robocopy je ne peut pas m'en servire car je suis dans un grande entreprise et je ne peux pas installer le patch de microsoft vu que je n'ai pas les droits administrateur et vu que je ne suis que stagiaire ils me les donneront pas

  4. #4
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Par exemple, ce qu'il serait possible de faire, c'est de récupérer la liste des fichiers (ceux qui ne correspondent pas à ce que tu veux) avec xcopy et son paramètre /l et le filtre date. Ensuite, tu récupères la liste de tous les fichiers, et tu ne déplaces (à coup de move) que ceux qui ne se trouvent pas dans ta première liste.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    OK donc j'avais déjà commencer a penser a une etape intermédiaire.
    Elle devrait fonctionner logiquement mais j'ai un probleme avec les FOR /F
    Si tu vois d'où sa peut venir.
    Nouveau 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
    @echo off
    dir "G:\Mes documents"
    dir "G:\Mes documents">"G:\Mes documents\ZZZZ.txt"
    Set /A A=%date:~6,4%-1
    Find /I "%date:~6,4%" "G:\Mes documents\zzzz.txt">"G:\Mes documents\aaaa.txt"
    more "G:\Mes documents\aaaa.txt"
    pause
    Find /I "<dir>" "G:\Mes documents\aaaa.txt">"G:\Mes documents\vvvv.txt"
    more "G:\Mes documents\vvvv.txt"
    echo c le doc vvvv
    pause
    For /F "Skip=4 Tokens=1,2,3,4,5 Delims= " %%I In ('Type "G:\Mes documents\vvvv.txt"') Do echo G:\Mes documents\%%L %%M>>"G:\Mes documents\bbbb.txt"
    more "G:\Mes documents\bbbb.txt"
    echo c'est le document BBBB.txt
    For /F "Tokens=1,2,3* delims=G" %%A In ('Type "G:\Mes documents\bbbb.txt"')Do echo Chemin du fichier G%%A
    :For /F "Tokens=1,2,3* delims=G" %%I In ('Type "G:\Mes documents\bbbb.txt"')Do XCOPY "G%%I" "I:\09_dpt_protos\09_secretariat_communication\02_confidntiel\00-Gestion du I\Nouveau dossier" /E /I /Y >>NOM.TXT
    For /F "Tokens=1,2,3* delims=G" %%I In ('Type "G:\Mes documents\bbbb.txt"') DO RD /S /Q "G%%I"
    pause
    del "G:\Mes documents\zzzz.txt
    del "G:\Mes documents\aaaa.txt
    del "G:\Mes documents\vvvv.txt
    del "G:\Mes documents\bbbb.txt
    :del "I:\09_dpt_protos\09_secretariat_communication\02_confidentiel\00-Gestion du I\Nouveau dossier\NOM.txt"
    Echo fin de la copie
    pause
    Donc si tu vois le problème en tout cas lorsque je lance le .Bat
    j'ai bien les bon chemins dans un document .txt mé lors de la commande Xcopy la console plante et lors de la suppression la console dit que le fichier n'est pas vide et donc ne veut pas l'effacer alors que j'ai mis le /S. Alors que si le dossier est vide la il trouve le chemin et efface le dossier donc je comprend pas si ta une idée je suis prenneur^^

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    Je vien de voir que ce qui plante dans mon batch se sont les Xcopy "G%%I" et RD /S /Q "G%%I", si je remplace les %%I par un chemin en dur le Batch fonctionne parfaitement. Donc si tu sais comment régler le problème que ce soit en mettant les %%I dans des variables ou autre fais mmoi signe ^^.

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

Discussions similaires

  1. Catalogue automatique avec script batch
    Par LOBO1986 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 27/12/2010, 17h30
  2. Script d'envoi ftp avec un batch
    Par Parkman dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 03/11/2008, 00h02
  3. Sauvegarde automatique en batch ?
    Par leggxix dans le forum Windows
    Réponses: 3
    Dernier message: 05/04/2007, 13h35
  4. sauvegarde automatique avec backup exec
    Par prefna dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 31/07/2006, 22h30

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