Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
ligne aléatoire avec for
Auteur Message
Répondre en citant
Message ligne aléatoire avec for 
Bonjour, désolé de faire plein de topics mais j'ai un projet tordu du coup je me retrouve bloqué un peu tout le temps Laughing

Bon je pense que je suis clair dans le titre j'ai un fichier.txt avec 100 lignes dedans et je voudrais prendre une ligne aléatoire. J'ai essayé avec for /f et skip avec un chiffre random mais ça me fait tout buguer Neutral

Si vous savez ça me serait d'une grande aide 👌 Okay !

Merci d'avance.




______________________________________________________
C'est en forgeant que l'on devient un forgeron Razz
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message ligne aléatoire avec for 
J'ai peut être une idée, j'ai testé, c'est concluant Okay
Code:

setlocal enabledelayedexpansion enablextensions
:loop
set ligne=0
for /f %%A in ('type fichier.txt') do (
set /a ligne+=1
set contenu=%%A
set /a nombre="%RANDOM% %% ((100 + 1) - 1) + 1"
if !ligne!==!nombre! goto fin
)
goto loop

:fin
echo ligne %ligne%, qui contient
echo %contenu%
pause





______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message ligne aléatoire avec for 
Hugo7 a écrit:
J'ai peut être une idée, j'ai testé, c'est concluant Okay
Code:

setlocal enabledelayedexpansion enablextensions
:loop
set ligne=0
for /f %%A in ('type fichier.txt') do (
set /a ligne+=1
set contenu=%%A
set /a nombre="%RANDOM% %% ((100 + 1) - 1) + 1"
if !ligne!==!nombre! goto fin
)
goto loop

:fin
echo ligne %ligne%, qui contient
echo %contenu%
pause


Ah super je resterais chez moi (on sait jamais mon PC est assez capricieux Twisted Evil )
Mais je le vois partout j'ai jamais compris, à quoi sert setlocal enable blablabla... ?




______________________________________________________
C'est en forgeant que l'on devient un forgeron Razz
Visiter le site web du posteur
Répondre en citant
Message ligne aléatoire avec for 
Hugo7 a écrit:
J'ai peut être une idée, j'ai testé, c'est concluant Okay
Code:

setlocal enabledelayedexpansion enablextensions
:loop
set ligne=0
for /f %%A in ('type fichier.txt') do (
set /a ligne+=1
set contenu=%%A
set /a nombre="%RANDOM% %% ((100 + 1) - 1) + 1"
if !ligne!==!nombre! goto fin
)
goto loop

:fin
echo ligne %ligne%, qui contient
echo %contenu%
pause


Pourquoi toujours se compliquer la vie ?
Simplement ça:
Code:
@Echo off
set /a nbr=%random%%%100

for /f "delims= skip=%nbr%" %%A in (fichier.txt) do (
   set line=%%A
   goto END
)
:END

echo Ligne %nbr%
echo %line%
pause


Code:
set /a nombre="%RANDOM% %% ((100 + 1) - 1) + 1"

+1-1 = 0 non ?
((100+1)-1)=100 alors a quoi sert ce +1-1

Ce qui revient a faire %RANDOM%%%100+1

EDIT: Utilisation de %random%%%100 a la place de %random%%%100+1 car skip a la ligne+1




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message ligne aléatoire avec for 
Euh j'en sais rien c'est comme ça que j'ai appris alors je discute pas x'D




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message ligne aléatoire avec for 
Oh ça me fait penser à un vieux truc que j'avais fait, avec plusieurs sélections aléatoires, si ça peut t'inspirer Mr. Green Wink

Code:
@echo off
setlocal enabledelayedexpansion
:RESTART
cls
set AFF=
for %%# in ( $ £ § ) do (
    call :_RAND
    for /f "tokens=1,*" %%A in ('type "%~0" ^| find "%%#!RAND!"') do (
        set AFF=!AFF! %%B
        )
    )
echo %AFF%
pause>nul
goto :RESTART

:_RAND
set /a RAND=%RANDOM%%%10
goto :EOF

$0 Le chien
$1 Ta mŠre
$2 Le voisin
$3 Le facteur
$4 Le boucher
$5 Un clochard
$6 Un gitan
$7 Ton pŠre
$8 Dans ses rˆves il
$9 Dark vador

£0 … senti
£1 veut d‚monter
£2 a urin‚ sur
£3 va partir en vacances dans
£4 est un boss avec
£5 adore toucher
£6 kife trop
£7 sait parler avec
£8 a aval‚
£9 aimerait voir

§0 ton slip
§1 un nain de jardin
§2 les toilettes
§3 une bouse de mammouth
§4 des tomates farcies
§5 les pustules
§6 un camembert
§7 les poubelles
§8 tes poils
§9 un psychopathe





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message ligne aléatoire avec for 
Énorme xD



Répondre en citant
Message ligne aléatoire avec for 
Oh mon dieu le vieux jeu qu'on mêlait avec nos dates de naissance pour avoir une phrase Mort de Rire




______________________________________________________
C'est en forgeant que l'on devient un forgeron Razz
Visiter le site web du posteur
Répondre en citant
Message ligne aléatoire avec for 
Mort de Rire On faisait des trucs comme ça en français en 6ème !

EDIT :
Code:
 Dark vador est un boss avec des tomates farcies
 Le facteur aimerait voir tes poils
 Dans ses rêves il aimerait voir les toilettes
 Le voisin a uriné sur ton slip
 Ton père kife trop tes poils
 Ta mère va partir en vacances dans ton slip
 Dark vador a avalé un camembert
 Un gitan kife trop les poubelles
 Ton père veut démonter les toilettes
 Le chien est un boss avec un nain de jardin
 Ton père a uriné sur les toilettes
 Ton père a avalé des tomates farcies
 Le facteur a avalé une bouse de mammouth





______________________________________________________
Visiter le site web du posteur
Message ligne aléatoire avec for 


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