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 :

batch de sauvegarde


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 132
    Par défaut batch de sauvegarde
    Bonjour,

    je voudrai réaliser un batch de sauvegarde mais je ne connais pas vraiment ce type de langage

    voici pour vous donner l'idée de ce que j'aimerai faire

    dans une arborescence \\toto\tata\titi\
    j'ai des fichiers nommé titi-yyyymmdd-xxxxxx.xls
    ce qui donne par exemple \\toto\tata\titi\titi-20090625-123456.xls
    je voudrais sauvegarder ces fichiers dans un répertoire correspondant à l'année qui est inscrite dans le nom du fichier et ce fichier dans un sous répertoire reprenant l'année et le mois
    ex: \\toto\tata\titi\2009\2009-06... \\toto\tata\titi\2009\2008-02...

    d'avance merci

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Un truc dans ce genre devrait marcher :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    @echo off
    REM Utilisation de variables locales, pour ne pas pourrir l'environnement.
    setlocal
    REM Passage dans le répertoire à traiter.
    pushd "toto\tata\titi\"
    REM Parcours de tous les fichiers, inconditionnellement, mais on pourrait mettre
    REM aussi "dir /b *.xls" s'il n'y a bien QUE cette extension.
    for /f "usebackq tokens=1-3* delims=-" %%I in (`dir /b`) do call :process %%I %%J %%K %%L
    REM Fini.
    popd
    endlocal
    goto :eof
    
    REM Sous-programme de traitement : prends 4 arguments, séparés par le "for" appelant.
    REM %1 : Premier token, qui deviendra le répertoire.
    REM %2 : Deuxième token, la date.
    REM %3 : Troisième token, la fin du nom.
    REM %4 : Quatrième token : juste au cas où il y aurait un "-" dans le nom de fichier... Optionnel.
    :process
    REM Si le nom de fichier ne correspond pas au pattern attendu, on sort.
    if "%1"=="" goto :eof
    if "%2"=="" goto :eof
    if "%3"=="" goto :eof
    REM Création des variables de traitement.
    set oldname="%1-%2-%3%4"
    set tstamp=%2
    set year=%tstamp:~0,4%
    set month=%tstamp:~4,2%
    set day=%tstamp:~6,2%
    REM Pour ne pas perdre la date, on laisse le jour dans le nom final du fichier.
    set newname="%day%-%3%4"
    REM Future arborescence de répertoires.
    set folder=".\%1\%year%\%month%"
    REM Création de l'arborescence.
    mkdir %folder%
    REM Déplacement du fichier (devrait être instantané).
    move %oldname% %folder%
    REM Passage dans le répertoire créé, et renommage.
    pushd %folder%
    ren %oldname% %newname%
    popd
    REM Fin de traitement, retour à l'appelant.
    goto :eof
    Si c'est sur un lecteur réseau, ça risque de planter : dans ce cas, un petit appel préalable avec un "net use Z: \\serveur\partage\folder /persistent:no" résoudra le problème.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

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