Salve este código como pergunta_aleatoria.vbs
Dim MeuArquivo
MeuArquivo = "C:\caminho\do\meu\arquivo\de\perguntas.txt" ' <--- Modifique aqui pelo seu arquivo de perguntas
Dim fso, file, perguntas
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(MeuArquivo)
perguntas = Split(file.ReadAll, vbCrlf)
max = Ubound(perguntas)
min = 1
Do While sair = False
Randomize
posicao = Int((max-min+1)*Rnd+min)
If UCase(Right( WScript.FullName, 12)) = "\CSCRIPT.EXE" Then
WScript.Echo "------------------------"
WScript.Echo perguntas(posicao)
WScript.Echo "-----------------"
Wscript.Echo "Aperte Enter para próxima pergunta. Digite 0 e Enter para sair" & vbcrlf
sair = WScript.StdIn.ReadLine = "0"
Else
sair = MsgBox(perguntas(posicao), vbOkCancel) = vbCancel
End If
Loop
Você pode executar clicando duas vezes no arquivo ou executar pelo prompt de comando:
cscript //Nologo c:\local\onde\voce\salvou\o\pergunta_aleatoria.vbs
Clicando duas vezes, será exibida uma mensagem no estilo padrão do Windows para cada pergunta. No prompt de comando, as perguntas são exibidas no próprio console.
Até mais