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 :

Calcul de dates avec Batch


Sujet :

Scripts/Batch

  1. #1
    Membre émérite
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Par défaut Calcul de dates avec Batch
    Bonjour,

    Autant vous le dire de suite, j'en bave pour ce script...

    Voilà la situation, je génère quotidiennement par Batch lancé par tache planifiée un fichier de sauvegarde d'une base MySQL.
    Or, ça s'accumule et ça prend de plus en plus de place.

    L'idée serait chaque jour, après la sauvegarde, que le script vire aussi le fichier du même jour mais du mois précédent.

    J'ai un souci, un gros souci: on fait comment pour manipuler constantes et variables en Batch? Parce que j'ai beau testé dans x directions, ça marche pas et ça commence à me gonfler

    Si vous aviez des tutos à me conseiller ou des scripts à me proposer, ça m'aiderait.

    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    Je te conseillerais de passer par un autre langage plus souple d'utilisation, vbscript par exemple.
    Il y a plein de tutos sur le net et une section dédiée sur developpez.net.

    Batch c'est bien pratique pour des commandes simples mais des qu'on veut faire quelque chose d'évolué ca devient vite horrible.

  3. #3
    Membre émérite
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Par défaut
    Ouais c'est ce que je me suis dit. Mais je pense que je vais m'acharner, pour le plaisir du défi. Et j'ai trouvé un ensemble de petits programmes de calculs sur les dates, donc vais fouiller dedans pour faire ce dont j'ai besoin

    Je mettrai ici la solution quand j'y serai arrivé

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Déplacé dans le forum DOS.
    Régarde la FAQ et les solutions déjà proposées, tu trouveras certainement ce que tu cherches

  5. #5
    Invité de passage
    Profil pro
    Inscrit en
    Août 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1
    Par défaut
    Batch date (solution possible)

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    rem le nombre d jours est passé en paramètre du batch = %1=periode
    for /f "tokens=1,2,3 delims=/" %%i in ('date/T') do (
    set jouri=%%i
    set moisi=%%j
    set ani=%%k
    )
    set periode=%1
    if %moisi:~0,1% EQU 0 set moisi=%moisi:~1,1%
    if %jouri:~0,1% EQU 0 set jouri=%jouri:~1,1%
    set /a diffperiode=(%moisi%*30)+%jouri%
    echo debut annee %diffperiode%
    
    set /A difannee=%periode%/365
    set /A ani=%ani%-%difannee%
    echo %difannee% ; %ani%
    
    set /a difjour=%periode%-(%difannee%*365)
    
    if %diffperiode%  LSS %difjour% goto rattrapagemois
    
    
    set /a moisref=%difjour%/30
    echo %moisref%
    set /a moisi=%moisi%-%moisref%
    echo %moisref% ; %moisi%
    
    
    set /a jourref=%difjour%-(%moisref%*30)
    echo %jourref%
    if %jourref% GTR %jouri% (
    set /a moisi=%moisi%-1
    set jouri=%jourref%-%jouri%
    ) ELSE (
    set /a jouri=%jouri%-%jourref%
    )
    echo %jourref% ; %jouri%
    
    goto fin
    
    :rattrapagemois
    set /A ddif=%difjour%-%diffperiode%
    set /A ani=%ani%-1
    set /A diffmois=%ddif%/30
    echo %diffmois%
    echo %ddif%
    echo %difjour%
    
    set /a moisi=12-%diffmois%
    echo %moisi%
    set /A diffjour=%ddif%-(%diffmois%*30)
    set /a jouri=%jouri%-%diffjour%
    echo %jouri%
    :fin
    
    rem on arrive avec %ani% , %moisi% et %jouri%  
    rem qui sont les jour mois et année compte tenu du cécalage de la période
    rem on peut affiner, je suis parti du principe qu'un mois fait 30 jours

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

Discussions similaires

  1. Calculer des dates avec fonction Gel de temps
    Par maxdata dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2012, 13h01
  2. Calculer l'âge avec dates dans Excel
    Par crosse9 dans le forum Excel
    Réponses: 9
    Dernier message: 06/01/2011, 14h52
  3. composant de calcul [champ date] avec rave report
    Par segnac dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/06/2005, 19h08
  4. Vue avec calcule de date
    Par jf-nigou dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/06/2005, 14h48
  5. [C#] Calcul sur les dates avec des DateTimePicker
    Par alizee971 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 02/04/2005, 17h14

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