Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1353 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  problème de transmission de variables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de transmission de variables

n°1391500
baobazz
Posté le 20-06-2006 à 14:51:14  profilanswer
 

Bonjour,
 
dans une boucle j'effectue un

Code :
  1. call batch.bat param1 param2

mais il ne prend en compte que le premier paramètre..quelqu'un peut-il m'éclairer?
 
voici mon batch:

Code :
  1. @echo off
  2. title installation sur les postes du service %1
  3. ::copie
  4. for /F "eol=; tokens=1,2 delims=," %%a in (services\%1.txt) do (call copie.bat %%a %%b)
  5. pause


 
malheureusement, dans mon batch copie.bat, le paramètre %%b n'est pas pris en compte...seul %%a l'est...
 
Pourtant, si jutiilise echo:

Code :
  1. @echo off
  2. title installation sur les postes du service %1
  3. ::copie
  4. for /F "eol=; tokens=1,2 delims=," %%a in (services\%1.txt) do (echo %%a %%b)
  5. pause


 
eh bien, %%b s'affiche bien...
 
comment faire?
 
 :??:  
 
 
 
 

mood
Publicité
Posté le 20-06-2006 à 14:51:14  profilanswer
 

n°1391585
wackevat
Posté le 20-06-2006 à 16:11:51  profilanswer
 

Tu peux poster ton copie.bat ?
 
Il y a des espaces dans %%a et %%b ? Quote-les pour voir.

n°1391666
baobazz
Posté le 20-06-2006 à 17:37:20  profilanswer
 

que veux-tu dire par quoter?
quoter les espaces ou l'espace entre %%a et %%b ?
 
comment le faire?
 
voici le code de copie.bat:

Code :
  1. @echo off
  2. set ordi=%1
  3. set agent=%2
  4. title installation sur le poste %1 appartenant à l'utilisateur %2
  5. SET /P confirm="Voulez-vous vraiment envoyer le pack vers l'ordinateur %ordi%? (O/N) "
  6. if /i "%confirm%"=="N" GOTO ANNUL
  7. echo.
  8. if not exist \\%ordi%\C$\*.* goto PCABSENT
  9. echo.
  10. echo copie du pack sur le bureau de l'agent %agent%
  11. xcopy /S pack "\\%ordi%\C$\Documents and Settings\All Users\Bureau"
  12. if errorlevel 1 goto erreurCOPIE
  13. echo.
  14. goto fin
  15. :ANNUL
  16. echo envoi du pack annulé sur le poste %1 >> Logs\log.txt
  17. echo édition du fichier log effectuée
  18. goto fin
  19. :PCABSENT
  20. echo   %ordi% absent. Vérifiez qu'il est bien démarré
  21. echo   %ordi% absent >> Logs\log.txt
  22. echo édition du fichier log effectuée
  23. goto fin
  24. :erreurCOPIE
  25. echo %ordi% de l'agent %agent%=> copie non OK>>Logs\log.txt
  26. echo édition du fichier log effectuée
  27. goto fin
  28. :fin
  29. echo.
  30. echo fin de la copie


 
bref, je ne sais pas si ça va t'aider...
 
sinon, javais fait pour le batch précédent:

Code :
  1. @echo off
  2. title installation sur les postes du service %1
  3.      
  4. ::copie
  5.      
  6. for /F "eol=; tokens=1,2 delims=," %%a in (services%1.txt) do (call copie.bat %%a %%b %1)
  7. pause


 
et bizarrement, il prenait en compte le paramètre %1 de

Code :
  1. call copie.bat %%a %%b %1


 
le paramètre %%a était pris en compte en tant que premier paramètre, pas %%b, et %1 en tant que deuxième paramètre

Message cité 1 fois
Message édité par baobazz le 20-06-2006 à 17:38:00
n°1391754
wackevat
Posté le 20-06-2006 à 20:19:33  profilanswer
 

baobazz a écrit :

que veux-tu dire par quoter?


Comme ça :

Code :
  1. for /F "eol=; tokens=1,2 delims=," %%a in (services%1.txt) do (
  2.   echo a=----%%a---
  3.   echo b=----%%b---
  4.   call copie.bat "%%a" "%%b"
  5. )


 
puis:

Code :
  1. set ordi=%~1
  2. set agent=%~2
  3. echo ordi=----%ordi%---
  4. echo agent=----%agent%---

n°1391909
baobazz
Posté le 21-06-2006 à 09:19:14  profilanswer
 

merci, nglechau!
 
à quoi servent les ~ de "set ordi=%~1"?
 
merci en tt cas!

n°1392077
wackevat
Posté le 21-06-2006 à 12:56:07  profilanswer
 

Ca permet d'enlever les guillemets des arguments que tu as fournis.

n°1392133
baobazz
Posté le 21-06-2006 à 13:37:21  profilanswer
 

super!!!
 
merci!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  problème de transmission de variables

 

Sujets relatifs
Probleme de compatiblité IE[RESOLU] Problème méthode GET
Probleme avec un kit graphiqueProblème d'infos MySQL
Problème taille pages sous dreanweaver (urgent !!)Probleme de Permission lors de COPYFILE
Garder les variables POST après une redirection headerproblème en C
[Resolu]Probleme de JScrollPane et JtextArea[VBA] Problème avec RecordCount
Plus de sujets relatifs à : problème de transmission de variables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR