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 :

lu tous les jours mais exécuté une seule fois par mois


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut lu tous les jours mais exécuté une seule fois par mois
    Bonjour,

    Je fais un petit batch Dos qui n'a besoin de s'exécuter qu'une fois par mois.
    Ce script est lancé au démarrage de la machine, par gpo, mais comment faire pour qu'il ne s'exécute qu'une fois dans une période donnée.(1 Mois ou 1 semaine)

    (Ex. si il se lance le 14.11 , il devra plus s'exécuter avant le 01.12)

    Merci pour votre aide

  2. #2
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Points : 1 381
    Points
    1 381
    Par défaut
    Utilises les taches planifiées de Windows (Démarrer > Panneau de configuration)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse , mais cela aurait été trop simple .

    Il faut que je le mette dans un script.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Petit éclaircissement, le script sera lu a chaque ouverture du poste.
    Et il n'a besoin de s'executer qu'une fois par mois.

    Merci de votre aide

  5. #5
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Tu peux te crééer un fichier de log qui trace les mois d'execution effective de ton script.

    Au lancement tu va lire ce fichier, si tu trouves le mois_annee courant tu quittes, sinon tu continues.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  6. #6
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Bonjour,

    cherches de côté de la commande AT /? et pour plus d'options vous avez SCHTASKS /?

  7. #7
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Bonsoir,
    Est-ce que la machine est lancées tous les jours?
    Si oui, il suffis de faire un test pour savoir si on est le 1er jour du mois.
    Sinon, il faut passer par un fichier exterieur pour savoir si le fichier a deja ete execute.
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Désolé de n'avoir pas répondu plus rapidement !!!

    Pour Drizzt: Je comprend trés bien ce que vous voulez dire , mais suis incapable de le reproduire en batch.
    Effectivement , le script est lancé au démarrage de la machine, qui elle, démarre a peu prés tous les jours (saufWE).

    Mais ,c'est là le soucis, il faudrait que le script ne s'exécute qu'une fois dans le mois.
    Ex: Si le poste n'est démarrer que le 10,le script se lance mais ne le fera plus le reste du mois.

    J'espère que je vous explique bien ?

    Merci de votre aide

  9. #9
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Points : 1 381
    Points
    1 381
    Par défaut
    Tu es obligé de le faire en batch? Ne peux-tu pas le faire en VBScript par exemple? Car en batch, je ne suis pas expert, mais je vois difficilement possible le fait de vérifier la date.

  10. #10
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Citation Envoyé par sianto Voir le message
    Pour Drizzt: Je comprend trés bien ce que vous voulez dire , mais suis incapable de le reproduire en batch.
    Etape 1 : Récupération de la date courante au format MM/YYYY:
    Attention, cela dépend de tes paramètres régionaux, il te faudra peut etre adapter cette ligne.

    Ensuite deux options, soit tu as un joli fichier de log traçant toutes tes executions de script.
    Ou un seul fichier de log par mois pour l'unique execution du script.

    Je vais décrire la solution 2.
    Pour la solution 1 il faut parcourir le fichier de log à la recherche de l'execution du mois courant.

    Etape 2 : Vérification de l'existence du fichier de log et sortie le cas échéant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if EXISTS exec_script_%strDate%.log goto :exit
    (Sans oublier de mettre l'étiquette :exit en fin de fichier )

    Etape 3 : Le log n'existe pas, je vais donc lancer mon script. Ce dernier doit créer le log.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo Lancement mensuel du script pour le mois %strDate% > exec_script_%strDate%.log
    Etape 4 : Facultative, tu as un beau log, autant t'en servir, tu peux ajouter des traces à ton script.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo Blablabla  >> exec_script_%strDate%.log
    Attention on utilise ici >> et non >

    Voila il y a peut être mieux, mais avoir un log est toujours bien lorsqu'on fait du script donc cette solution permet de t'en servir.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Je vous remercie vivement pour ces renseignements.

    Je m'en vais les mettre en applications, et je vous en ferais un retour.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Non,

    Décidément , je suis réfractaire au codage, malgré toute la bonne volonté
    Je ne comprend pas comment faire ce que j'ai expliqué au dessus

    Merci de votre patience ....

    Mais pour répondre à Muad'dib, le script en VBS , je prends .

    Merci

  13. #13
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Salut tout le monde et bienvenue à toi sianto sur le forum.

    Citation Envoyé par sianto Voir le message
    Décidément , je suis réfractaire au codage, malgré toute la bonne volonté
    Je ne comprend pas comment faire ce que j'ai expliqué au dessus
    Considères ce qui suit comme un coup de pouce bien mérité, ce qui bien entendu ne t'empêche pas d'en apprendre plus sur ce "langage" grâce aux différentes ressources disponibles sur ce même site et forum.

    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
    ::####################################################################################
    ::Execute One Time in month (otm.cmd) by maxim_um for developpez.net/forums
    ::Info:
    ::¯¯¯¯
    ::Ce script n'est qu'un exemple, sans systèmes de test,
    ::sans gestions d'erreurs et sans optimisation particulière. 
    ::Dans cette version simpliste, il ne fonctionne correctement   
    ::qu'avec le format de date par défaut, c'est à dire jj/MM/aaaa
    ::le paramètre facultatif «/f» permet de forcer l'exécution du script
    ::la variable logpath représente le chemin du «dossier\» contenant le fichier log.
    ::enjoy;
    ::#####################################################################################  
    set logpath=
    if not exist %logpath%otm.log (
    echo ==== Fichier log généré le %date% à %time% ====
    echo.)> %logpath%otm.log
    if "%1"=="/f" goto runtask
    for %%i in ("%logpath%otm.log") do set df=%%~ti
    if not "%df:~3,2%"=="%date:~3,2%" goto runtask
    goto fin
    
    :runtask
    ::// ici les instructions à réaliser une fois par mois
    ::####################################################
    
    
    
    ::#################################################### 
    ::// fin des instructions.
    echo exécuté le %date% à %time% >>%logpath%otm.log
    goto :eof
    
    :fin
    Bonne continuation à toi.

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup maxim_um

    Je vais le mettre en place et tenter de bien le faire fonctionner

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

Discussions similaires

  1. Comment exécuter une seule fois
    Par pixelrock dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 30/11/2009, 10h39
  2. Réponses: 38
    Dernier message: 02/11/2009, 18h20
  3. Réponses: 6
    Dernier message: 22/05/2008, 23h15
  4. [MySQL] N'afficher la page que une seul fois par jour par ip
    Par Nutaak dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/12/2007, 17h38
  5. Réponses: 2
    Dernier message: 04/07/2006, 02h32

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