Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[RESOLU] Inclusion de IF avec condition basée sur un random
Auteur Message
Répondre en citant
Message [RESOLU] Inclusion de IF avec condition basée sur un random 
Bonjour à tous,

Je suis en train de développer un batch (pas le choix sur le language) qui selon le site AD auquel appartient ma machine, un tel fichier texte doit être rempli en information (l'adresse d'un serveur).

Le problème est que pour exploiter au maximum mes serveurs je voudrais faire du random sur les fichiers à remplir (certains sites ont deux serveurs)

Hors mon script fonctionne parfaitement sans random mais une fois le random mis en place dans mes IF, c'est le plantage assuré.

Si quelqu'un pouvait m'éclairer Smile Merci d'avance !!


Le script sans random dans les IF (qui fonctionne parfaitement):
Code:

@echo off
set /a myrandom=%random% %% 2
cd \
cd "path"
set addr=%1
cscript "\\path\ip2site.vbs" %addr% >\\path\resolvedsite%ID%.txt
for /F "skip=3" %%a IN (\\path\resolvedsite%ID%.txt) do (set site=%%a)            
IF "%site%" =="Site1"        (
   copy "path\\site1PS.txt" "path\PS%ID%.txt"
   GOTO :next   
                        )   
IF "%site%" =="Site2"        (
   copy "path\site2PS.txt" "path\PS%ID%.txt"
   GOTO :next   
                        )
:next   


Le script avec les randoms et qui ne fonctionne pas:
Code:

@echo off
set /a myrandom=%random% %% 2
cd \
cd "path"
set addr=%1
cscript "\\path\ip2site.vbs" %addr% >\\path\resolvedsite%ID%.txt
for /F "skip=3" %%a IN (\\path\resolvedsite%ID%.txt) do (set site=%%a)            
IF "%site%" =="Site1"        (
   IF %myrandom%==0(
   copy "path\\site1PS.txt" "path\PS%ID%.txt"
   GOTO :next
               )
   IF %myrandom%==1(
    copy "path\\site1PS1.txt" "path\PS%ID%.txt"
   GOTO :next
               )
                        )   
:next




Dernière édition par Warrer le Mar 13 Nov 2012 - 18:04; édité 1 fois
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [RESOLU] Inclusion de IF avec condition basée sur un random 
Salut,

Pour poster tes codes sources, utilise les balises code.

Code:
[code][/code]


Merci,

Gabriel.




______________________________________________________
Formation en Graphisme.
Visiter le site web du posteur MSN
Répondre en citant
Message [RESOLU] Inclusion de IF avec condition basée sur un random 
Bonjour

es tu sur cette ligne ?

Code:
set /a myrandom=%random% %% 2


remplace par

Code:
set /a myrandom=%random%%%2





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [RESOLU] Inclusion de IF avec condition basée sur un random 
Thanks for your reply.

I tried it this way and it doesn't work as well :/



Répondre en citant
Message [RESOLU] Inclusion de IF avec condition basée sur un random 
Que te dit ton batch comme erreur ?

desactive le echo off si jamais pour voir


Code:
cd \
cd "path"

ceci ne me semble pas indispensable.


a tester non vérifié - mettre echo on pour voir si toutes tes variables sont renseignées
Code:
@echo off
set /a myrandom=%random%%%2
set addr=%1
cscript "\\path\ip2site.vbs" %addr% >\\path\resolvedsite%ID%.txt
for /F "skip=3" %%a IN (\\path\resolvedsite%ID%.txt) do (set site=%%a)           
   IF %myrandom%==0 (
IF "%site%"=="Site1"        (
   copy "path\\site1PS.txt" "path\PS%ID%.txt"
   GOTO :next
               )
   IF %myrandom%==1(
    copy "path\\site1PS1.txt" "path\PS%ID%.txt"
   GOTO :next
               )
                        )   
:next





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [RESOLU] Inclusion de IF avec condition basée sur un random 
Ok. Pour une raison que j'ignore, ta méthode en inversant les IF fonctionne... Si tu pouvais m'expliquer Very Happy

Donc il faut d'abord vérifier si le random donne 1 ou 0 et ensuite dedans attribuer le site.


Merci Smile!



Répondre en citant
Message [RESOLU] Inclusion de IF avec condition basée sur un random 
Bonjour
ravie que ça fonctionne, c'était une intuition mais je crois que l'ordre de déclaration des informations est importante
exemple

test ce code pour voir si ça fonctionne avec site en 1er.


Code:
@echo off
set addr=%1
cscript "\\path\ip2site.vbs" %addr% >\\path\resolvedsite%ID%.txt
for /F "skip=3" %%a IN (\\path\resolvedsite%ID%.txt) do (set site=%%a)   
set /a myrandom=%random%%%2
         IF "%site%"=="Site1"     (
if %myrandom%==0 (
  copy "path\\site1PS.txt" "path\PS%ID%.txt"
  GOTO :next
               )
   IF %myrandom%==1(
    copy "path\\site1PS1.txt" "path\PS%ID%.txt"
 GOTO :next
               )
                       )   
:next





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message [RESOLU] Inclusion de IF avec condition basée sur un random 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch