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 Dos] incrementation +3 à %date%


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut [Batch Dos] incrementation +3 à %date%
    bonjour à tous, dans le but de creer une tache planifiée se lancant 3 jours apres l'execution de mon script j'essai tant bien que mal de faire un script en incrementant 3 a %dateù, le probleme que j'ai et le changement des mois et des années.

    Voici ce que j'ai reussi a faire et a n'utiliser qu'avant le 25,27 et 28 de chaque mois.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for /f "tokens=1,2,3 delims=/" %%i in ('date/T') do (
    set jour=%%i
    set mois=%%j
    set anne=%%k
    )
    set /A jour3=%jour%+3
    
    Echo %jour3%/%mois%/%anne%
    
    pause
    j'aimerai ne pas me soucier de savoir quand lancer le batch et faire un script qui me donen la bonne date meme s'il y a changement de mois/années.

    PS: sous windows 2003

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    En batch cela ne va pas être facile
    Citation Envoyé par dob2806
    PS: sous windows 2003
    En PowerShell ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >$date=Get-date
    >$date
    jeudi 2 octobre 2008 13:14:37
     
    >$date.AddDays(91)
    jeudi 1 janvier 2009 13:14:37

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut
    le probleme c'est que je suis une quiche en prog le script je commence a me debrouiller mais la le powershell !!

    en fait j'ai un script qui doit tourner pour generer un mot de passe aleatoire suivant un dico (ça c'est ok) ensuite il me genere un mail a envoyé aux utilisateurs concernés et il programme une tache planifiée pour que 3 jours apres avoir executer le script le mot de passe change dans l'AD.

    je coince a la generation du script pour l'envoi(deja un post de créé)
    et à comment planifié une tache 3 jours apres execution du script...

    voila vous savez tout et on m'a demandé de faire ça en batch dos, donc je tente de m'y appliquer.

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dob2806
    le probleme c'est que je suis une quiche en prog le script je commence a me debrouiller mais la le powershell !!
    L'usage de base de powerShell est aisée faut juste accepter de débuter. Comment ai-je fait à ton avis ?
    Ensuite c'est sûr que cela demande qq réflexions à propos de son déploiement sur un parc de machines.
    Citation Envoyé par dob2806
    on m'a demandé de faire ça en batch dos, donc je tente de m'y appliquer.

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Peut être un début de solution ici:
    http://www.computing.net/answers/win...pt/143775.html
    ou là
    http://www.robvanderwoude.com/datetiment.html#DateAdd

    Tu as un budget pour l'aspirine ?

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut
    j'etais tomber en cherchant sur ce script tiré d'un post sur ce forum mais je ne le comprend pas:

    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
    cela pourrait-il m'aider ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut
    post croisés

    j'ai des actions chez Doliprane

  8. #8
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dob2806
    cela pourrait-il m'aider ?
    Faut voir.
    Mais le code rob van der woude me semble de bonne facture, ce n'est pas tous les jours que je vois des algo codés en batch.
    Citation Envoyé par dob2806 Voir le message
    j'ai des actions chez Doliprane
    ça tombe bien ! Coté bourse c'est peut être les seuls en ce moment à ne pas trop se faire de mouron

  9. #9
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 109
    Par défaut
    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
    @echo off
    echo. & echo Nous sommes Aujourd'hui le %DATE%
    set /p NJ="Entrez un nombre de jours positif ou negatif : "
    
    set /a J=%DATE:~0,2%
    set /a M=%DATE:~3,2%
    set /a A=%DATE:~6,4%
    set /a JJ=%NJ% + (1461 * (%A% + 4800 + (%M% - 14) / 12)) / 4 + (367 * (%M% - 2 - 12 * ((%M% - 14) / 12))) / 12 - (3 * ((%A% + 4900 + (%M% - 14) / 12) / 100)) / 4 + %J% - 32075
    set /a T0=%JJ% + 68569
    set /a T1=(4 * %T0%) / 146097
    set /a T0=%T0% - (146097 * %T1% + 3) / 4
    set /a T2=(4000 * (%T0% + 1)) / 1461001
    set /a T0=%T0% - (1461 * %T2%) / 4 + 31
    set /a T3=(80 * %T0%) / 2447
    set /a J=%T0% - (2447 * %T3%) / 80
    set /a M=%T3% + 2 - (12 * (%T3% / 11))
    set /a A=100 * (%T1% - 49) + %T2% + (%T3% / 11)
    
    if %J% LSS 10 set J=0%J%
    if %M% LSS 10 set M=0%M%
    
    echo.
    if %NJ% EQU 0 echo Nous sommes le %DATE% !
    if %NJ% GTR 0 echo Dans %NJ:+=% jour(s) nous serons le %J%/%M%/%A%
    if %NJ% LSS 0 echo Il y a %NJ:-=% jour(s) nous etions le %J%/%M%/%A%
    echo.
    resultat:

    H:\Batch>test

    Nous sommes Aujourd'hui le 05/10/2008
    Entrez un nombre de jours positif ou negatif : 3

    Dans 3 jour(s) nous serons le 08/10/2008

    H:\Batch>test

    Nous sommes Aujourd'hui le 05/10/2008
    Entrez un nombre de jours positif ou negatif : -3

    Il y a 3 jour(s) nous etions le 02/10/2008

    H:\Batch>

  10. #10
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Belle implémentation !

  11. #11
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Question de pinailleur !!

    Cela marche avec les années bissextiles ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut
    Trop cool , je teste ca de suite et je remonte les infos eventuelles.

    Trés grand merci

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut
    je viens de tester en changeant ma date et cela fonctionne pour les années bissextiles et pour le changement d'année aussi. j'inmplement dans mon script et je reviens vers vous.

    par contre histoire de m'endormir moins con ce soir y a possibilité éventuelle d'expliquer en survolant tout au moins ?

    deja ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set /a J=%DATE:~0,2%
    set /a M=%DATE:~3,2%
    set /a A=%DATE:~6,4%
    et la suite si ce n'est pas trop demander.

    Merci.

  14. #14
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Pour la commande Set voir l'aide en ligne

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut
    merci pour ces infos ce n'etait pas la la question , ce que je ne comprend pas ce sont les ~0,2%, ~3,2% et ~6,4% .

    mais c'est toujours bien aimable à toi d'avoir repondu.

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut
    heu les script ne fonctionne pas aujourd'hui ???? ni demain ????

    en modifiant la date systeme a differente date j'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Nombre non valide. Les constantes numériques doivent être soit décimales (17),
    soit hexadécimales (0x11), soit octales (021).
    
    Dans 3 jour(s) nous serons le 03/10/2008

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut
    bon je viens de tester tous les jours de ce mois et ca ne plante que le 8 et le 9 pareil pour le mois de novembre ... bizarre !!

    y a moyen de contourner le probleme avec des if ?

  18. #18
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par dob2806 Voir le message
    merci pour ces infos ce n'etait pas la la question , ce que je ne comprend pas ce sont les ~0,2%, ~3,2% et ~6,4% .
    mais c'est toujours bien aimable à toi d'avoir repondu.
    Si tu veux je peux te copier ici l'aide en ligne :
    >Set /?
    ...
    Vous pouvez aussi spécifier des sous-chaînes pour une expression.
    %PATH:~10,5%

    développe la variable d'environnement PATH et utilise seulement 5 caractères à partir du onzième (décalage de 10) dans le résultat sous forme développée. Si la longueur n'est pas spécifiée, tout le reste de la valeur de la variable est traité. Si l'une des valeurs (décalage ou longueur)
    est négative, alors le nombre utilisé est la longueur de la valeur de la variable d'environnement ajoutée au décalage ou à la longueur donné.

    %PATH:~-10%

    extrait les 10 derniers caractères de la variable PATH.

    %PATH:~0,-2%

    extrait tous les caractères sauf les deux derniers de la variable PATH.
    ...

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut
    Milles excuses et merci pour l'info.

    mais pourquoi cela ne fonctionne t'il pas le 8 et 9 ?

  20. #20
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dob2806
    mais pourquoi cela ne fonctionne t'il pas le 8 et 9 ?
    Je ne sais pas.
    Poste ton code de test stp.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. BATCH DOS +AUTO DELETE Fichiers selon date de création
    Par FredericManche dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 17/02/2010, 15h59
  2. Batch DOS Date J-2
    Par Attila50 dans le forum Windows
    Réponses: 4
    Dernier message: 26/05/2007, 09h52
  3. [BATCH-DOS] Sur quel forum poster ?
    Par Beaunico dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 17/09/2004, 18h30
  4. un batch DOS pour "nettoyer des fichiers" ?
    Par RoroMinator dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 12/02/2004, 16h24
  5. Réponses: 5
    Dernier message: 01/10/2003, 15h03

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