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 :

impossible d'executer plusieurs commande DOS via une seule variable


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut impossible d'executer plusieurs commande DOS via une seule variable
    Bonjour à tous,

    je souhaite mettre en place un script permettant de redémarrer certains de mes serveurs.
    Afin d'automatiser la tâche,
    je souhaite procéder dans l'ordre :

    1) vérifier si le repertoire destinataire existe sur mes serveurs

    2) s'il n'existe pas, le créer

    3) copier le script sur les repertoires distants

    4) créer une commande AT permettant d'executer le script de restart

    Le soucis que je rencontre est que quand j'execute mon script,
    il me renvoit systematiquement "la syntaxe de la commande est incorrecte".

    mon script est le suivant :

    FOR /f "tokens=1" %%h in (n:\ctx.txt) do (
    rem vérification si le repertoire d'archive existe
    if exist \\%%h\g$\APPLS\SYSTEM goto next
    if not exist \\%%h\g$\APPLS\SYSTEM goto crea

    :crea

    MD %%h\g$\APPLS\SYSTEM

    goto next

    :next

    xcopy "g:\appls\system\restart.cmd" "\\%%h\g$\APPLS\SYSTEM\" /H /Y

    at \\%%h at 23:30 /every:mer \\%%h\g$\APPLS\SYSTEM\restart.cmd"
    )


    Que j'essais avec les parenthèses après la commande do ou non, ca me fait la même chose.
    La boucle For ne permet pas d'exectuer une telle commande?
    Si non, quelqu'un aurait une autre idée?

    dernière précision au cas ou, le problème que je rencontre n'est pas lié au script de redémarrage mais à celui permettant de mettre tout cela en place

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 43
    Points : 36
    Points
    36
    Par défaut
    Je ne vais pas pouvoir t'aider directement etant donné que moi et FOR ca fait 2

    Déja c'es possible, etant donner que je me suis creer des batchs qui me relance mon serveur dedié sous ubuntu en distant.

    Je suppose que tes serveurs sont sous windows, et je pense que tu doit pouvoir te tourner vers la commande NET

    Désoler de ne pouvoir t'en dire plus.

    http://www.computerhope.com/nethlp.htm

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bonjour Wnx83,

    Je ne vois pas comment la commande net peut m'aider dans mon cas mais je te remercie de ton intervention.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 43
    Points : 36
    Points
    36
    Par défaut
    Desoler j'ai du mal cerner ton probleme

    *Erreur d'inattention je pense, mais deja la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if exist \\%%h\g$\APPLS\SYSTEM goto next
    if not exist \\%%h\g$\APPLS\SYSTEM goto crea
    :crea
    MD %%h\g$\APPLS\SYSTEM
    goto next
    :next
    Peut ce transformer en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if exist \\%%h\g$\APPLS\SYSTEM goto next
    :crea
    MD %%h\g$\APPLS\SYSTEM
    :next
    Effectivement s'il existe il jump en NEXT mais s'il n'existe pas il continu ton script donc ==>
    if not exist \\%%h\g$\APPLS\SYSTEM goto crea
    :crea <== devient inutile

    goto next
    :next
    Ici le goto next renvoi a la ligne de code juste dessous qui serai lu meme sans le goto next.

    J'essai de tester de mon coter, mais juste une question, ce sont des serveurs reseau ou distant ?

    si reseau, a tu essayer un truc du genre :
    shutdown -r -f -m \\192.168.0.2 -t 0 -c mdp
    192.168.0.2 = ip du serveur a redemarrer
    mdp = mot de pass de la session du pc distant

    Ainsi tu pourrai directement redemarrer le/les serveur voulu depuis ton pc, libre a toi d'utiliser la commande At depuis ton pc.

    J'espere avoir compris :s je suis un peu dur de la feuille des fois :p

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    je te remercie pour tes précisions, je vais tester en le simplifiant.

    Sinon concernant la commande shutdown, je veux vraiment que ce soit les serveurs qui executent cette commande de manière autonome, donc je ne souhaite pas la lancer à distance par le biais d'une autre machine.
    Pour information mes serveurs sont situé sur un réseau local.

    Merci

  6. #6
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    C'est toujours pas bon malgré la modif, j'ai fais différement merci quand meme

Discussions similaires

  1. Exécuter une commande DOS via un programme Java
    Par af.zakaria dans le forum Général Java
    Réponses: 6
    Dernier message: 06/12/2013, 09h55
  2. Réponses: 4
    Dernier message: 20/04/2011, 11h20
  3. envoi d'une commande DOS via C++Builder possible ?
    Par tomguiss dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/01/2008, 10h23
  4. Réponses: 4
    Dernier message: 28/11/2007, 23h07
  5. Réponses: 1
    Dernier message: 01/02/2007, 12h51

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