2014-09-12 4 views
0

Я получил 2 файла bot.batПоиск случайная строка

@echo off & setlocal EnableDelayedExpansion 
:botconfig 
set botname=Unknow 
set botcity=unknow 
set botadress=unknow 
set botage=unknow 
for /f "delims=*" %%x in (botfeel.txt) do set botfeel=%%x 
:askme 
set /p how= 
echo I feel %botfeel% 
goto askme 

и botfeel.txt

good 
bad 
sick 

Что я хочу, вместо того чтобы показывать только «я чувствую себя больным» он показывает случайным образом один из 3 слова в botfeel.txt

ответ

0

Сделать пакетный файл выглядит следующим образом:

@echo off 
:botconfig 
set botname=Unknow 
set botcity=unknow 
set botadress=unknow 
set botage=unknow 
:askme 
set /p how= 
SET /a line=%RANDOM% * 3/32768 
if %line%==0 goto firstline 
for /F "skip=%line% delims=" %%i in (botfeel.txt) do set "botfeel=%%i"&goto nextline 
:nextline 
echo I feel %botfeel% 
goto askme 
:firstline 
set /p botfeel= <botfeel.txt 
goto nextline 
+0

Ваш код дает мне ошибку "skip =! Line! – mcquestion

+0

Попробуйте изменить его на «skip =% line% –

+0

теперь вместо того, чтобы больно это плохо, я не могу сделать что-то вроде var1 = bad var2 = good на .txt-файле? – mcquestion

Смежные вопросы