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 :

[.bat][FOR][IF]executer plusieurs commandes a la suite


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 14
    Par défaut [.bat][FOR][IF]executer plusieurs commandes a la suite
    Bonjour !
    Voila alors ce que je tente de faire c'est de remplacer un fichier sur toutes les machines de mon parc, donc pour cela je recupere la liste des noms grace a net view, ensuite je parcours cette liste grace a un for et si le fichier est present je souhaite le preciser dans un fichier (echo) et faire le remplacement de fichier (copy) si le fichier n'est pas present je le notifie simplement dans un autre fichier(echo).


    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
    net view /domain:frix_domain >c:\View.txt
    
    FOR /F "tokens=1 delims=\\ " %%I in (c:\view.txt) do 
    
    IF EXIST \\%%I\c$\cfgprofu\cfgprofu.cmd
     
    (
    echo %%I >> \\frixcomp\c$\share\newpcprofu.txt
    copy  \\frixcomp\share\cfgprofu.cmd \\%%I\c$\cfgprofu\cfgprofu.cmd /Y /V  >>\\frixcomp\c$\share\newpcprofu.txt
    
    ) ELSE (
    
    echo %%I >> \\frixcomp\c$\share\nopcprofu.txt
    )
    Voila mon probleme c'est que deux commandes a la suite dans un IF ca ne marche pas (donc le code au-dessus ne fonctionne pas).
    Si j'enleve le copy ou l'echo il marche...
    Si vous avez une idée ... merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 14
    Par défaut
    Bah j'ai finis par trouver ... enfin par contourner le problème plutot !
    au lieu de mettre deux commandes a la suite je fait un CALL d'un autre fichier.bat ou je mets mes 2 commandes !
    voila merci pour tout qd meme !

  3. #3
    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,
    Essaie sans retour chariot entre Do et IF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Net View /domain:frix_domain >c:\View.txt 
    
    FOR /F "tokens=1 delims=\\ " %%I in (c:\view.txt) do IF EXIST \\%%I\c$\cfgprofu\cfgprofu.cmd ( 
    echo %%I >> \\frixcomp\c$\share\newpcprofu.txt 
    copy  \\frixcomp\share\cfgprofu.cmd \\%%I\c$\cfgprofu\cfgprofu.cmd /Y /V  >>\\frixcomp\c$\share\newpcprofu.txt 
    ) ELSE ( 
    echo %%I >> \\frixcomp\c$\share\nopcprofu.txt 
    )
    tu peux aussi utiliser cette syntaxe qui évite + fichiers.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if not "%LISTE%"=="" For %%i in (%LISTE%) do call ::Sub1 %%i
    ...
    goto end
    
    :SUB1 
     rem sous programme vu comme un batch indépendant
     REM différent du %1 de batch principal
    Echo %1  
     REM fin du sous programme
    goto :EOF 
    :end
    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 14
    Par défaut
    pour le prog sans espace ca marche pas (en fait je les avait pas mis et je les ai rajouté ici pour une meilleur lisibilité )
    Sinon j'ai pas trop compris ta deuxieme syntaxe (mais si ca marche comme avec des etiquettes alors ca risque de planter...
    Oups je viens de le reregarder et en fait si j'ai compris lol... vi j'ai pas essayé mais ca devrait marcher !
    Merci en tout cas !

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

Discussions similaires

  1. lancement de plusieurs commandes DOS à la suite
    Par fredoh dans le forum VBScript
    Réponses: 2
    Dernier message: 24/08/2010, 14h11
  2. Réponses: 5
    Dernier message: 24/03/2009, 10h20
  3. executer plusieurs commandes associées
    Par vbcasimir dans le forum Linux
    Réponses: 2
    Dernier message: 25/01/2007, 13h28
  4. Exécuter plusieurs commandes bat
    Par n@n¤u dans le forum Langage
    Réponses: 4
    Dernier message: 31/08/2006, 15h23
  5. Réponses: 4
    Dernier message: 03/12/2004, 11h18

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