Batch : aléatoire
Résolu/Fermé
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
-
14 avril 2010 à 22:01
CARCY - 1 mars 2024 à 15:36
CARCY - 1 mars 2024 à 15:36
A voir également:
- Batch : aléatoire
- Fichier batch - Guide
- Batch renommer une partie du nom de plusieurs fichiers - Guide
- Batch net use - Forum Réseau
- Color batch - Forum Autoit / batch
- Script batch utile ✓ - Forum Programmation
16 réponses
cs-bilou
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
164
Modifié par cs-bilou le 18/04/2010 à 21:44
Modifié par cs-bilou le 18/04/2010 à 21:44
Tien voilà un truc que j'ai fait vite fait.
Alors le fichier phrase.txt qui contient tout plein de phrase:
Et puis le .bat qui lui comporte les commande.
Voilà il faut que tu mette le phrase.txt et le .bat dans le dossier dossier, enfin a coter.
Cordialement,
Bilou.
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
Alors le fichier phrase.txt qui contient tout plein de phrase:
Salut ça va ? Bonjour a toi Hello man !! BlaBlaBli Carrote ?
Et puis le .bat qui lui comporte les commande.
@echo off setlocal enableDelayedExpansion ::Nombre de phrases Total. set phraseTotal=0 for /f %%i in ('type "phrase.txt"') do set /a phraseTotal+=1 ::Tirage au sort d'une des pharses. call set /a LignePhrase=%%random%%%%%%%phraseTotal% ::Extraction de la phrase. set ligne=0 for /f "delims=""" %%i in ('type "phrase.txt"') do ( if !ligne!==!LignePhrase! set phrase=%%i set /a ligne+=1 ) ::Affichage de la phrase msg * %phrase%
Voilà il faut que tu mette le phrase.txt et le .bat dans le dossier dossier, enfin a coter.
Cordialement,
Bilou.
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
14 avril 2010 à 22:07
14 avril 2010 à 22:07
salut
je croix pas qu'un seul batch permet d'afficher des méssages a chaque démarrage mais cela devient si le batch lui même est modifié
pour les commandes
AT /?
For /?
if /?
echo /?
Goto /?
donc il vous reste d'améliorer les commandes
je croix pas qu'un seul batch permet d'afficher des méssages a chaque démarrage mais cela devient si le batch lui même est modifié
pour les commandes
AT /?
For /?
if /?
echo /?
Goto /?
donc il vous reste d'améliorer les commandes
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
14 avril 2010 à 22:48
14 avril 2010 à 22:48
Pourrais tu me donner un exemple ?
Je viens de commencer le batch :S
Je viens de commencer le batch :S
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
15 avril 2010 à 12:31
15 avril 2010 à 12:31
salut
mais d'abord il faut commencer par les commandes que je vous donne ici !
si vous faites des fautes donc c'est pas grave , j'essai de vous aider
mais d'abord il faut commencer par les commandes que je vous donne ici !
si vous faites des fautes donc c'est pas grave , j'essai de vous aider
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
Modifié par mael9 le 21/04/2010 à 20:41
Modifié par mael9 le 21/04/2010 à 20:41
Merci je vais essayer =) ! =)
EDIT :
Merciii !! Pile ce qu'il me faut !!
EDIT :
Merciii !! Pile ce qu'il me faut !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
21 avril 2010 à 21:09
21 avril 2010 à 21:09
Petit problème : comment faire pour que les accents soit pris en compte ? là ça les transforme en de lettre bizarre :-/....
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
21 avril 2010 à 21:47
21 avril 2010 à 21:47
donnez moi un exemple
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
21 avril 2010 à 21:54
21 avril 2010 à 21:54
si j'ai bien compris par exemple le "é" dans le DOS est "Alt+0130"
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
22 avril 2010 à 16:34
22 avril 2010 à 16:34
Alt+130 oui, mais dans mon fichier phrase.txt, il y a des accents par exemple :
Il n'y a pas de théorie de l'évolution. Juste une liste d'espèces que Chuck Norris autorise à survivre.
théorie : é
espèces : è
(Chucknorrisfacts)
Et bien le message qui s'affiche ne met pas les é ou les è ou les à...ou ë ä â ê....
il me met un U avec accent à la place.... comment faire ?!
Il n'y a pas de théorie de l'évolution. Juste une liste d'espèces que Chuck Norris autorise à survivre.
théorie : é
espèces : è
(Chucknorrisfacts)
Et bien le message qui s'affiche ne met pas les é ou les è ou les à...ou ë ä â ê....
il me met un U avec accent à la place.... comment faire ?!
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
22 avril 2010 à 18:46
22 avril 2010 à 18:46
salut
dans l'invite de commande tappez :
echo é >mael9.txt
ensuite
echo è >>mael9.txt
et voilà les deux lignes sont succéssivement les é et è
donc les remplacer dans votre fichiers
dans l'invite de commande tappez :
echo é >mael9.txt
ensuite
echo è >>mael9.txt
et voilà les deux lignes sont succéssivement les é et è
donc les remplacer dans votre fichiers
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
22 avril 2010 à 20:05
22 avril 2010 à 20:05
Je ne comprend pas bien...cet commande permetera d'afficher les é et les è correctement ?
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
22 avril 2010 à 21:05
22 avril 2010 à 21:05
oui
si je fait uniquement echo é donc vous voyez les résultats directement sur l'invite par contre l'ajoute du > c'est pour la redirection ver un fichier ( dans votre cas c'est mael9.txt ) pour par exemple voir les résultats sur votre bureau sous le nom coucou.txt donc tappez echo é >Bureau\coucou.txt
dans la deuxieme line le double redirection (>>) est pour ne pas écraser la 1er par la 2eme résultat
je pense que vous avez compris
si je fait uniquement echo é donc vous voyez les résultats directement sur l'invite par contre l'ajoute du > c'est pour la redirection ver un fichier ( dans votre cas c'est mael9.txt ) pour par exemple voir les résultats sur votre bureau sous le nom coucou.txt donc tappez echo é >Bureau\coucou.txt
dans la deuxieme line le double redirection (>>) est pour ne pas écraser la 1er par la 2eme résultat
je pense que vous avez compris
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
22 avril 2010 à 22:28
22 avril 2010 à 22:28
???? quoi de nouveau
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
23 avril 2010 à 22:22
23 avril 2010 à 22:22
Non mais ce n'est pas ce que je cherche....il ne faut pas que é et è s'écrivent dans un fichier...
Ils sont dans mon fichier phrase.txt (ou il y a des phrase avec des accents comme dit plus haut) et lorsque je lance mon fichier .bat , il tire une phrase au hasard qui est dans phrase.txt , mais il n'affiche pas bien les accents ;)
voilà mon problème,
en espèrant avoir été plus clair,
mael9
Ils sont dans mon fichier phrase.txt (ou il y a des phrase avec des accents comme dit plus haut) et lorsque je lance mon fichier .bat , il tire une phrase au hasard qui est dans phrase.txt , mais il n'affiche pas bien les accents ;)
voilà mon problème,
en espèrant avoir été plus clair,
mael9
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
24 avril 2010 à 16:11
24 avril 2010 à 16:11
Ok je vais essayer avec Powerbatch
Mais en fait
é = ,
è = ?
à = ...
car quand je met dans l'invit de commande
echo.J'espère qu'il sera présent à la maison. > cat.txt
il mécrit ça :
J'espSre qu'il sera pr'sent ... la maison....
Mais en fait
é = ,
è = ?
à = ...
car quand je met dans l'invit de commande
echo.J'espère qu'il sera présent à la maison. > cat.txt
il mécrit ça :
J'espSre qu'il sera pr'sent ... la maison....
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
24 avril 2010 à 16:17
24 avril 2010 à 16:17
salut
tappez
graftabl dans l'invite de commande et me dire si le code est 720
tappez
graftabl dans l'invite de commande et me dire si le code est 720
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
24 avril 2010 à 16:31
24 avril 2010 à 16:31
Non, c'est 850
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
24 avril 2010 à 16:43
24 avril 2010 à 16:43
donc c bon
j'ai remarqué qu'il n'y a pas de problème
vous dite :
echo.J'espère qu'il sera présent à la maison. > cat.txt
il mécrit ça
J'espSre qu'il sera pr'sent ... la maison....
donc c bon car une autre execution de votre 1er exmple sur le fichier cat.txt au lieu de phrase.txt il marche trés bien
je croix que vous me comprenez pas bien ce que j'ai dit
j'ai remarqué qu'il n'y a pas de problème
vous dite :
echo.J'espère qu'il sera présent à la maison. > cat.txt
il mécrit ça
J'espSre qu'il sera pr'sent ... la maison....
donc c bon car une autre execution de votre 1er exmple sur le fichier cat.txt au lieu de phrase.txt il marche trés bien
je croix que vous me comprenez pas bien ce que j'ai dit
cs-bilou
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
164
Modifié par cs-bilou le 24/04/2010 à 18:56
Modifié par cs-bilou le 24/04/2010 à 18:56
Reuh mael9,
Avec le code que je t'ai donner normalement les caractères devrait s'afficher normalement car il s'affiche dans une boite de dialogue.
Toi ceux que tu fait, c'est que tu écrit dans un fichier texte en passant par le DOS, pour ça il faut faire:
Dans PowerBatch quand tu tape un é il te met un ,
Et bah copie le , pour le remplace a la place des é dans ton bat ouvert avec le Bloc-Note.
Ou sinon tu enregistre directement avec PowerBatch
Cordialement,
Bilou.
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
Avec le code que je t'ai donner normalement les caractères devrait s'afficher normalement car il s'affiche dans une boite de dialogue.
Toi ceux que tu fait, c'est que tu écrit dans un fichier texte en passant par le DOS, pour ça il faut faire:
Dans PowerBatch quand tu tape un é il te met un ,
Et bah copie le , pour le remplace a la place des é dans ton bat ouvert avec le Bloc-Note.
Ou sinon tu enregistre directement avec PowerBatch
Cordialement,
Bilou.
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
24 avril 2010 à 16:49
24 avril 2010 à 16:49
oui c juste que je lui dit
il faut que lui remplace le é par , et ainsi de suite
il faut que lui remplace le é par , et ainsi de suite
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
Modifié par mael9 le 24/04/2010 à 17:48
Modifié par mael9 le 24/04/2010 à 17:48
ok j'essaie ;)
EDIT : ahhhh ça marche :P merci ^^ !
EDIT : ahhhh ça marche :P merci ^^ !
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
24 avril 2010 à 18:09
24 avril 2010 à 18:09
Ben topic résolu !
J'avais déja Powerbatch et j'avais jamais remarqué qu'il transformais les lettres directement les accents u_u' !
J'avais déja Powerbatch et j'avais jamais remarqué qu'il transformais les lettres directement les accents u_u' !
cs-bilou
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
164
Modifié par cs-bilou le 24/04/2010 à 18:56
Modifié par cs-bilou le 24/04/2010 à 18:56
De rien de t'avoir aider.
Si tu a d'autres question n'hésite pas a poster.
Ps: évite les double post c'est mal vue.
Cordialement,
Bilou.
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
Si tu a d'autres question n'hésite pas a poster.
Ps: évite les double post c'est mal vue.
Cordialement,
Bilou.
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
24 avril 2010 à 19:10
24 avril 2010 à 19:10
oui vous avez raison
donc félicitation mael9
et si vous avez d'autres remarques/qu'estions ..etc donc on est là pour vous
cordialement ;)
donc félicitation mael9
et si vous avez d'autres remarques/qu'estions ..etc donc on est là pour vous
cordialement ;)
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
24 avril 2010 à 18:51
24 avril 2010 à 18:51
Oui dsl mais je pensais mettre topic résolu dans un autre message ^^'
Bye ;)
Bye ;)
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
24 avril 2010 à 20:04
24 avril 2010 à 20:04
oui
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
20 juin 2010 à 21:33
20 juin 2010 à 21:33
Topic de nouveau non résolu,
comment faire le même script sous linux(ubuntu) ? il ne connait pas certaines commande... setlocal...@echo off..
comment faire le même script sous linux(ubuntu) ? il ne connait pas certaines commande... setlocal...@echo off..
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
21 juin 2010 à 13:51
21 juin 2010 à 13:51
Re, salut
dans ubuntu il ya le shell bash ( il n y a pas @ )
pour plus d'infos va voir le site de zéro
https://openclassrooms.com/fr/courses
dans ubuntu il ya le shell bash ( il n y a pas @ )
pour plus d'infos va voir le site de zéro
https://openclassrooms.com/fr/courses
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
21 juin 2010 à 19:53
21 juin 2010 à 19:53
Ok merci !
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
21 juin 2010 à 23:21
21 juin 2010 à 23:21
Re,
de rien ;)
de rien ;)
theo7777
Messages postés
104
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
9 janvier 2013
42
Modifié par theo7777 le 11/08/2010 à 16:29
Modifié par theo7777 le 11/08/2010 à 16:29
J'ai un script long de 23 lignes (sans compter les commentaires) (modifié)
Entre debut partie modifie et fin partie modifie l'ancien code est
if not exist save.txt echo 1>save.txt
set /p nombre=<save.txt
@echo off set phrase1=Premier phrase set phrase2=Deuxieme phrase set phrase3=Troisieme phrase set phrase4=blablabla set phrase5=Hello world set phrase6=... set phrase7=blablabla set phrase8=blablabla set phrase9=xox set phrase10=dix ::debut partie modifie set /a nombre=(%random%%%10)+1 ::fin partie modifie if %nombre%==1 echo %phrase1% if %nombre%==2 echo %phrase2% if %nombre%==3 echo %phrase3% if %nombre%==4 echo %phrase4% if %nombre%==5 echo %phrase5% if %nombre%==6 echo %phrase6% if %nombre%==7 echo %phrase7% if %nombre%==8 echo %phrase8% if %nombre%==9 echo %phrase9% if %nombre%==10 echo %phrase10% pause >nul
Entre debut partie modifie et fin partie modifie l'ancien code est
if not exist save.txt echo 1>save.txt
set /p nombre=<save.txt
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
8 juil. 2010 à 15:07
8 juil. 2010 à 15:07
Qui marche sous windows..pas sous linux :-/ mais qui ne permet pas du "aléatoire" et à quoi sert le fichier "save.txt" ?
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
8 juil. 2010 à 16:13
8 juil. 2010 à 16:13
salut mael9
le nombre aléatoire dans le bash linux c la commande RANDOM , donc essayez avec le help du commande RANDOM --help
je répond pour le fichier save.txt
dans la ligne :
if not exist save.txt echo 1>save.txt
si le fichier save.txt n'existe pas donc afficher un "1" et l'enregistre sur le fichier save.txt
set /p nombre= <save.txt
la commande set /p nombre= permet d'attendre la saisie a partir du clavier mais il ya aprés cette commande le <save.txt dans ce cas on sais que le numéro 1 est stocké dans ce fichier et tandis qu'il ya une redirection inversé ( le < inferieur) donc le contenue de ce fichier est celui de l'entrée pour la commande SET /P nombre= c-à-d si comme si on a tappé directement le numéro a partir du pavé numérique de notre clavier 1
le nombre aléatoire dans le bash linux c la commande RANDOM , donc essayez avec le help du commande RANDOM --help
je répond pour le fichier save.txt
dans la ligne :
if not exist save.txt echo 1>save.txt
si le fichier save.txt n'existe pas donc afficher un "1" et l'enregistre sur le fichier save.txt
set /p nombre= <save.txt
la commande set /p nombre= permet d'attendre la saisie a partir du clavier mais il ya aprés cette commande le <save.txt dans ce cas on sais que le numéro 1 est stocké dans ce fichier et tandis qu'il ya une redirection inversé ( le < inferieur) donc le contenue de ce fichier est celui de l'entrée pour la commande SET /P nombre= c-à-d si comme si on a tappé directement le numéro a partir du pavé numérique de notre clavier 1
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
8 juil. 2010 à 17:59
8 juil. 2010 à 17:59
Ok, merci !
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
8 juil. 2010 à 18:14
8 juil. 2010 à 18:14
de rien ;)
theo7777
Messages postés
104
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
9 janvier 2013
42
5 août 2010 à 18:46
5 août 2010 à 18:46
Le script est modifié :)
mael9
Messages postés
373
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
7 février 2018
30
Modifié par mael9 le 6/08/2010 à 10:22
Modifié par mael9 le 6/08/2010 à 10:22
merci je vais essayer
EDIT :
Avec ce code voici l'erreur :
/home/ubuntu/Desktop/fichier.bat: line 1: @echo : commande introuvable
/home/ubuntu/Desktop/fichier.bat: line 12: Erreur de syntaxe près du symbole inattendu « ( »
/home/ubuntu/Desktop/fichier.bat: line 12: 'set /a nombre=(%random%%%10)+1 '
ubuntu@ubuntu:~$ /home/ubuntu/Desktop/fichier.bat
EDIT :
Avec ce code voici l'erreur :
/home/ubuntu/Desktop/fichier.bat: line 1: @echo : commande introuvable
/home/ubuntu/Desktop/fichier.bat: line 12: Erreur de syntaxe près du symbole inattendu « ( »
/home/ubuntu/Desktop/fichier.bat: line 12: 'set /a nombre=(%random%%%10)+1 '
ubuntu@ubuntu:~$ /home/ubuntu/Desktop/fichier.bat
28 juil. 2010 à 18:20
J'ai déjà remplacé la valeur du nombre total de phrase mais je ne vois pas ce que je dois faire en plus. (les deux fichiers sont biens dans le même dossier)
Merci d'avance =D
30 juil. 2010 à 20:01
il faut que l'extention de votre fichier est .bat ou .cmd et pas .txt
31 juil. 2010 à 22:59
C'était déjà le cas, mais quand je le lance, il m'affiche :
"Entrez message envoyer; CTRL+Z sur nouv. ligne pour terminer message, puis ENTREE"
Et quoi que j'écrive, cmd.exe se ferme une fois que j'ai appuyé sur ctrl+z puis entrée, et je ne vois aucune modification nulle part.
3 août 2010 à 22:07
ajoutez a la fin de votre batch la commande pause ( juste aprés la commande msg * %phrase% )
6 août 2010 à 02:40
Mais ça ne marche toujours pas ^^'
Maintenant, il m'affiche "Erreur 1702 lors de l'obtention des noms de session"
Je vais faire une recherche google pour cette fameuse erreur mais je veux bien être éclairé ici quand même ;)