Пытаюсь создать службу будильника через CMD Prompt. Услуга может быть запрограммирована на определенное время, она будет воспроизводить песню и задавать вопрос перед завершением. У меня две трудности:
1) Окно командной строки открывается, а затем закрывается, когда достигает оператора if/else
(даже не останавливается после if/else
, как показано ниже). Моя if
инструкция неверна? Он работал буквально до тех пор, пока время не изменилось на 23:00, а затем началось некорректное поведение.
2) Использование more
в цикле for для чтения n-й строки файла (https://stackoverflow.com/a/6410343/3746582) выдавал ошибку Cannot access file (filename)
перед тем, как оператор if / else начал давать сбой. Есть предположения?
@ECHO OFF
rem Alarm generated that won't turn off until interacted by user.
rem Get time
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)
if %mytime% == 2328 (
start wmplayer "C:\Users\Public\Music\Sample Music\Kalimba.mp3"
pause
rem Stop music with user input
taskkill /im "wmplayer.exe"
rem Pick random question
SET /a _rand=%RANDOM%*216929/32768+1
SET /a _rand-=1
For /f "tokens=6-7 delims=," %%a in (more +%_rand% 'JEOPARDY_CSV.txt') do (set /a myquestion = %%a && set /a myanswer = %%b)
set /p userinp=Answer the question of the day! %myquestion%:%=%
pause
) else (
pause
)
pause
Спасибо!