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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

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

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