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

Windows Discussion :

Petit problème de batch


Sujet :

Windows

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut Petit problème de batch
    Bonjour tous le monde, je suis novice en batch et ce que je voudrai c'est pouvoir le programmer. En fait j'ai déjà taper une ligne de commande ds le note pad : "C:\mon\chemin\excel.exe". a ce niveau la ya pas encore de souci , tt fonctionne, excel se lance nickel. Par contre je n'arrive pas a trouver la ligne de commande à ajouter ds le notepad pour pouvoir programmer une fermeture de mon .bat apres un temps X.
    Dsl mais ca fait un long message merci de l'avoir lu en entier et encore merci si vs pouviez m'aider

  2. #2
    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
    Salut,

    Me souvient plus mais il me semble pas qu'il y ait par défaut de fonction wait ou sleep en batch.
    En attendant que quelqu'un infirme tu peux utiliser cela par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ping 1.1.1.1 -w <temps d'attente en millisecondes> -n 1
    Ton batch va effectuer une commande ping qui n'aboutira jamais et donc attendra le temps spécifié après le -w.


    Au fait je ne sais pas pourquoi tu veux fermer ton batch après un certain temps, mais au vu de ton post j'ai un petit doute, si c'est pour que excel se ferme aussi la ça ne marchera pas par contre. Une fois ton excel lance, le batch n'a plus aucun controle dessus.
    La seule solution serait de récuperer le PID du process excel une fois ce dernier lancé, et de le killer quand tu le souhaites. (en utilisant tlist et kill qui ne sont pas forcement présent par défaut sur ton windows)
    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

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    bon ba merci alors, je vai essayer tt ca a tete reposée parceque je crois que je suis mal parti

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    En fait ce que je veu c'est ouvrir un fichier access où j'ai un autoexec puis fermer le fichier une fois l'execution terminée et tt ca à l'aide d'un batch...... et je crois que je vais galerer parceque j'y connais pas grand chose

  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
    Effectivement, surtout que le batch n'est pas vraiment fait pour ça.
    Deja sans modifier un minimum ton Access, ton batch ne pourra jamais savoir quand l'execution du traitement est terminée. (Sauf à la limite si ton traitement lance un nouveau process).

    Regarde deja si il n'est pas possible directement dans ton traitement access de fermer access une fois celui-ci fini. Ca sera bien plus simple.

    Sinon il faut pouvoir indiquer à ton batch que le traitement est fini. En passant par un fichier temporaire que ton batch ira lire regulierement, ou par une variable d'environnement. Dans les deux cas une modif coté Access est nécessaire.
    Si par hasard ton traitement access lance un nouveau process (autre que access.exe) dans ce cas tu dois faire scruter la liste des process par ton batch, et des que tu ne vois plus ce process (mais en l'ayant vu une premiere fois), la tu peux killer access.


    Pour récuperer la liste des process, utilise tlist.exe (Win2000) tasklist.exe (WinXP) que tu recuperas eventuellement sur Internet.
    Ensuite tu auras un travail de recherche/parsing à faire (regarde du cote de la fonction findstr).

    Pour killer, c'est kill.exe (idem pe à récuperer sur Internet).

    En conclusion, c'est possible mais pas gagné ni vraiment adapté.
    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 à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    C'est vrai que c mal parti mais si je connais le temp de l'exec ( c'est juste l'impression d'une macro) je dois pouvoir fermer mon batch automatiquement apres 4 minute non?

    en tout cas merci d avoir repondu aux message precedents, ca m'est d'un grand secour

  7. #7
    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
    Fermer Access tu veux dire, fermer ton batch ne fermera pas Access

    Oui effectivement si tu pars du principe qu'au bout de 4min tout est fini, c'est faisable:

    Lance Access
    Recupere le PID avec TLIST
    Fait une pause de 4min dans ton batch (avec le ping ou une autre méthode si ça existe)
    Kill Access avec KILL.
    Ton batch est fini est se ferme.
    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

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    bon merci pour le ping ca marche nickel, par contre pour "killer" le processus c'est pas encore ca .
    Si j'ai compris y faut apres que je recupere le pid avec tasklist.exe, j'utilise le ping pour "mettre mon batch en pause" puis je kill access, le truc c'est que je trouve pas la syntaxe, le tasklist.exe c'est pour recuperer le pid en cour non? et apres le kill ne marche pas vraiment aparement faut utiliser TSKILL???????
    merci pour votre patience

  9. #9
    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
    kill et tlist c pour windows 2000, c'est peut etre pas le meme nom sous xp.

    La syntax de kill c'est simple c'est kill PID.

    tlist (ou tasklist sous xp) t'affiche la liste des processus courant avec pas mal de details, un peu comme ton gestionnaire de tache. Il faut donc faire un traitement sur cette chaine pour recuperer le PID.
    Un findstr pourra t'aider à recuperer la ligne du process correspondant à access.
    Ensuite un for sur le resultat ou tu ne gardes que le premier token et tu es bon !
    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

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    En fait voila mon batch :

    "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "C:\Mon dossier"
    ping 1.1.1.1 -w 2000 -n 1
    tskill msaccess

    et le truc c est que ca me lance bien mon fichier ya l'autoexec nickel par contre j'ai l impression que mon batch perd la main, access ne se ferme pas et il ne se passe rien, par contre, si je ferme manuellement access, le batch reprend la main, le ping s'execute et mon TSKILL fonctionne bien...... chui perdue.....

  11. #11
    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
    Utilise start pour lancer access.

    Edit> Note pour moi, kill ça marche aussi avec le nom du process . Pas besoin de tlist donc. Sauf si tu en as plusieurs du meme nom
    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

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    merci c'est vraiment sympa ca marche nickel......

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    Pour pousser un peu parceque je suis assez curieux et intéresser, est il possible d'ouvrir a partir de mon batch qui fonctionne a merveille maintenant une macro presice dans ma base de donnée acess.......
    merci

  14. #14
    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
    Ca c'est une question Access pas Batch

    Je dirais que la réponse est oui mais je te laisse trouver comment (la comme ça je sais pas).
    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

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    ma quête ne finira donc jamais

    je plaisante merci encore pour le batch

  16. #16
    En attente de confirmation mail
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Points : 38
    Points
    38
    Par défaut ACCES / bse OOo
    Est tu vraiment sur de vouloir utiliser Accès comme base de donnée ?
    Je sais que c'est possible d'ouvrir une macro par un prog basic pour OpenOffice.
    D'un coté c'est vrai que changer de base de donnée, c'est vaiment pas évident ...

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    J'ai pas vraiment compris ce que tu voulais dire, cependant mon truc c'est ds le cadre d'une entreprise qui voulais juste lancer des aplication (impression et envoie automatique de mail notament) a l'aide d'un batch

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Salut,

    Au lieu de t'embeter avec un ping, dans ta macro, tu peux y mettre un quitter... qui quite Access tout simplement, comme l'avais suggéré drone38.

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

Discussions similaires

  1. batch - Petit probléme avec !
    Par koKoTis dans le forum Windows
    Réponses: 3
    Dernier message: 02/01/2007, 09h06
  2. Batch - Petit probléme de calcule
    Par Lorponos dans le forum Windows
    Réponses: 9
    Dernier message: 22/07/2006, 11h48
  3. (Batch et VBS) Petit probléme avec un script batch VBS
    Par Edoxituz dans le forum Windows
    Réponses: 11
    Dernier message: 27/02/2006, 17h21
  4. petit problème premier plan, arrière plan
    Par gros bob dans le forum OpenGL
    Réponses: 4
    Dernier message: 19/04/2004, 12h00
  5. [jointure] Petit problème sur le type de jointure...
    Par SteelBox dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/02/2004, 18h55

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