Batch GOTO et IF

Batch GOTO et IF - Shell/Batch - Programmation

Marsh Posté le 09-08-2011 à 16:19:49    

Bonjour,
 
J'essaye de faire un script qui me monte des lecteurs réseaux selon le sous-réseaux.
 
J'ai le code suivant :  
 

Code :
  1. for /F "delims=," %%i in ('ipconfig /all^|find "Adresse IPv4"') do set ADRIP=%%i
  2. set "ADRIP=%ADRIP:~44,10%"
  3. if "%ADRIP%"=="192.168.10" goto :site1
  4. if "%ADRIP%"=="192.168.11" goto :site2
  5. if "%ADRIP%"=="192.168.12" goto :site3
  6. echo "supprimer tout montage existant" > log.txt
  7. :site1
  8. echo "montage net use .... TEST 1" > log.txt
  9. goto :eof
  10. :site2
  11. echo "montage net use .... TEST 2" > log.txt
  12. goto :eof
  13. :site3
  14. echo "montage net use .... TEST 3" > log.txt
  15. goto :eof
  16. :eof
  17. exit


 
Le probleme c'est que dans tout les cas, le script va dans la procédure site1 ... si je met la procedure site2 au dessus de site1 alors le script ira tout le temps dans le site2.
 
Si je met au lieu de "%ADRIP%"=="192.168.10" >> "%ADRIP%"=="trucbidon", le script ira quand même dans la première procédure...
 
Qu'est ce que j'ai loupé?


Message édité par PsYKrO_Fred le 09-08-2011 à 16:22:07
Reply

Marsh Posté le 09-08-2011 à 16:19:49   

Reply

Marsh Posté le 09-08-2011 à 16:21:58    

mauvaise section je dirais et y a pas de question.

Reply

Marsh Posté le 09-08-2011 à 16:22:51    

J'ai validé sans faire exprés... la il y a la question...
C'est pas la bonne section Codes et Script ?

Reply

Marsh Posté le 09-08-2011 à 16:26:10    

C'est surtout que OSA ne traite pas les sujets relatifs à windows (script batch, net use, tout ça)

 


Ce sujet a été déplacé de la catégorie OS Alternatifs vers la categorie Programmation par O'gure


Message édité par o'gure le 09-08-2011 à 16:27:19

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 09-08-2011 à 16:41:17    

OK merci pour le déplacement.

Reply

Marsh Posté le 10-08-2011 à 22:42:19    

:hello:  je crois que ça vient de la syntaxe du goto dans les conditions
Essayes d'enlever les : avant le nom, je crois que c'est ça car j'avais eu le même problème

 
Code :
  1. for /F "delims=," %%i in ('ipconfig /all^|find "Adresse IPv4"') do set ADRIP=%%i
  2.     set "ADRIP=%ADRIP:~44,10%"
  3.     if "%ADRIP%"=="192.168.10" goto site1
  4.     if "%ADRIP%"=="192.168.11" goto site2
  5.     if "%ADRIP%"=="192.168.12" goto site3
  6.     echo "supprimer tout montage existant" > log.txt
  7.     :site1
  8.     echo "montage net use .... TEST 1" > log.txt
  9.     goto eof
  10.     :site2
  11.     echo "montage net use .... TEST 2" > log.txt
  12.     goto eof
  13.     :site3
  14.     echo "montage net use .... TEST 3" > log.txt
  15.     goto eof
  16.     :eof
  17.     exit


Message édité par letrouveur le 10-08-2011 à 22:44:04
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed