Problème pour ficher batch
Matt's
-
Char Snipeur -
Char Snipeur -
bonjour j'ai un souci pour une programmation en fichier BATCH
j'ai un problème pour rejoindre le nom et l'affectation d'une variable par la valeur d'une autre, j'ai pour l'instant :
Pour déffinir la position d'affichage:
set /a pos0=%random%%%4
:er0
set /a pos1=%random%%%4
if %pos0% EQU %pos1% goto er0
:er1
set /a pos2=%random%%%4
if %pos0% EQU %pos2% goto er1
if %pos1% EQU %pos2% goto er1
:er2
set /a pos3=%random%%%4
if %pos0% EQU %pos3% goto er2
if %pos1% EQU %pos3% goto er2
if %pos2% EQU %pos3% goto er2
Pour l'affectation d'une constante
set /a nb0=%random%%%3
set /a nb1=%random%%%3
set /a nb2=%random%%%3
set /a nb3=%random%%%3
if %nb0%==0 set alea0=I
if %nb0%==1 set alea0=H
if %nb0%==2 set alea0=E
if %nb1%==0 set alea1=A
if %nb1%==1 set alea1=N
if %nb1%==2 set alea1=E
if %nb2%==0 set alea2=C
if %nb2%==1 set alea2=A
if %nb2%==2 set alea2=S
if %nb3%==0 set alea3=L
if %nb3%==1 set alea3=I
if %nb3%==2 set alea3=B
Et j'aimerai comme ceci
echo %alea0% %alea1% %alea2% %alea3%
Mais je voudrai remplacer le 0, 1, 2, 3 par %pos0%, %pos1%, %pos2%, %pos3%.
En gros afficher
echo %alea%pos0%% %alea%pos1%% %alea%pos2%% %alea%pos3%%
Cela me permetterait d'interchanger les positions aléatoirement de mes variables:
%alea0%, %alea1%, %alea2%, %alea3%.
svp help me!!!
j'ai un problème pour rejoindre le nom et l'affectation d'une variable par la valeur d'une autre, j'ai pour l'instant :
Pour déffinir la position d'affichage:
set /a pos0=%random%%%4
:er0
set /a pos1=%random%%%4
if %pos0% EQU %pos1% goto er0
:er1
set /a pos2=%random%%%4
if %pos0% EQU %pos2% goto er1
if %pos1% EQU %pos2% goto er1
:er2
set /a pos3=%random%%%4
if %pos0% EQU %pos3% goto er2
if %pos1% EQU %pos3% goto er2
if %pos2% EQU %pos3% goto er2
Pour l'affectation d'une constante
set /a nb0=%random%%%3
set /a nb1=%random%%%3
set /a nb2=%random%%%3
set /a nb3=%random%%%3
if %nb0%==0 set alea0=I
if %nb0%==1 set alea0=H
if %nb0%==2 set alea0=E
if %nb1%==0 set alea1=A
if %nb1%==1 set alea1=N
if %nb1%==2 set alea1=E
if %nb2%==0 set alea2=C
if %nb2%==1 set alea2=A
if %nb2%==2 set alea2=S
if %nb3%==0 set alea3=L
if %nb3%==1 set alea3=I
if %nb3%==2 set alea3=B
Et j'aimerai comme ceci
echo %alea0% %alea1% %alea2% %alea3%
Mais je voudrai remplacer le 0, 1, 2, 3 par %pos0%, %pos1%, %pos2%, %pos3%.
En gros afficher
echo %alea%pos0%% %alea%pos1%% %alea%pos2%% %alea%pos3%%
Cela me permetterait d'interchanger les positions aléatoirement de mes variables:
%alea0%, %alea1%, %alea2%, %alea3%.
svp help me!!!
A voir également:
- Problème pour ficher batch
- Fichier batch - Guide
- Ficher rar - Guide
- Batch converter - Télécharger - Photo & Graphisme
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
- Color batch - Forum Autoit / batch
31 réponses
Le problème est que %pos0% est un chiffre aléatoire compris entre 0 et 3. C'est sa valeur qui va définir la variable %alea*%, ce chiffre (0 ou 1 ou 2 ou 3) remplacera " * " de la variable %alea...%.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sinon j'ai trouvé ça :
set /a pos0=0
set alea0=M
set alea%pos0%
ça me donne
alea0=M
c'est ce que je veux mais sans le " alea0= "
commen dois-je faire?
set /a pos0=0
set alea0=M
set alea%pos0%
ça me donne
alea0=M
c'est ce que je veux mais sans le " alea0= "
commen dois-je faire?
mais j'ai remarqué que vous tappez ceci directement à l'invite de commande (cmd) et pas sur un fichier batch
parce que si celui est dans le batch il n'affiche rien
parce que si celui est dans le batch il n'affiche rien
pour moi si, quand j'écrie
set /a pos0=0
set alea0=M
set alea%pos0%
dans fichier batch et que je le lance une fenêtre cmd s'ouvre et m'indique
alea0=M
Appuyez sur une touche pour continuer...
set /a pos0=0
set alea0=M
set alea%pos0%
dans fichier batch et que je le lance une fenêtre cmd s'ouvre et m'indique
alea0=M
Appuyez sur une touche pour continuer...