Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: TheH4ck en 17 Septiembre 2014, 19:34 pm



Título: Plabras random en batch
Publicado por: TheH4ck en 17 Septiembre 2014, 19:34 pm
Hola estoy creando un chat falso en batch lo quer necesito es que en un archivo de texto que tengo yo con nombre "iresp.txt" tengo todas las preguntas y respuestas que va a mostrar en pantalla el batch,
Lo que necesito es que mi programa eliga una línea random de las respuestas ubicadas en el acrchivo ya nombrado osea:

   1 Hola como estas?
   2 Como te llamas?
   3 Que interestante!
   4 en serio!
   5 Que dices????
y quiero que el programa genere un número random de esas líneas y copie el texto por ejemplo:

   Numero random: 3
   La línea contiene: "Que interestante!"

Y que muestre en pantalla el contenido de esa línea,

En pocaspalabras que liga un numero random de todas las lineas del arcihov de texto y luyego que copie el cpntenido de esa linea.


Título: Re: Plabras random en batch
Publicado por: Eleкtro en 17 Septiembre 2014, 19:58 pm
Respuestas.txt
Código:
0 Hola como estas?
1 Como te llamas?
2 Que interestante!
3 en serio!
4 Que dices????

Script.bat
Código:
@Echo OFF & Setlocal EnableDelayedExpansion

Set "Answers=.\Respuestas.txt"

Call :GetAnswer
Echo !Answer!

Pause&Exit /B 0

:GetAnswer
For /F %%# In (
'Type "%Answers%" ^| Find /V /C ""'
) Do (
Set /A "MaxValue=%%#"
set /A "RandomAnswer=!RANDOM! %%!MaxValue!"
)

Set /A "Count=0"
For /F "UseBackQ Tokens=1,* Delims= " %%a In (
"%Answers%"
) Do (
If !Count! EQU !RandomAnswer! (
Set "Answer=%%~b"
)
Set /A "Count+=1"
)
GOTO:EOF

Saludos.