Я пытаюсь выполнить следующую летучую мышь каждые 15 минут на своем компьютере:
@ECHO OFF
SETLOCAL enabledelayedexpansion
SET host=http://dnsad.de/rest/
SET slideshowurl=http://dnsad.de/display/currentSlideshow/mac/
SET slideshowfolder=C:\Slideshow
SET ieprocess="iexplore.exe"
SET ignore_result=INFORMATION:
FOR /f "delims=" %%a IN ('getmac /v ^|find /i "Realtek"') DO (
FOR %%b IN (%%a) DO (
SET element=%%b
IF "!element:~2,1!!element:~5,1!!element:~8,1!"=="---" set mac=%%b
)
)
SET formattedmac=%mac:-=:%
SET macpath=%mac:-=_%
FOR /f "delims=" %%a IN ('curl -X GET %host%%formattedmac%') DO (
FOR %%b IN (%%a) DO (
SET update=%%b
)
)
IF "%update%"=="[true]" (
CD %ProgramFiles%\WinHTTrack\
httrack %slideshowurl%%formattedmac% -q -O "C:\Slideshow" -s0 -B -a
curl -X PUT %host%%formattedmac%
START iexplore -k %slideshowfolder%\dnsad.de\display\currentSlideshow\mac\%macpath%.html
)
EXIT
Скрипт работает как надо при выполнении. Я получаю MAC-адрес устройства, получаю ожидаемые ответы сервера от curl, WinHTTrack правильно выполняет резервное копирование данных, curl обновляет поля сервера, а затем Internet Explorer открывается с обновленным локальным html.
Когда запланировано как Task с win 7, оно также работает так, как должно. При запуске bat из планировщика заданий на Win 10 последнее, что он делает, — это завиток PUT, но Internet Explorer никогда не открывается. Задача отмечена как успешная.
Я вошел в систему как администратор в Win 7 и Win 10. Я протестировал почти все настройки в планировщике задач. Кажется, ничего не работает. Почему не запускается интернет эксплорер?
[РЕДАКТИРОВАТЬ]
Кажется, что проблема возникает из-за опции «Запускать независимо от того, вошел ли пользователь в систему или нет». Но вот в чем загвоздка: я показываю слайд-шоу в режиме киоска Internet Explorer, и мне нужно получать обновленные данные с моего сервера, чтобы регулярно отображать новые слайд-шоу. Упомянутая опция предотвращает всплывающую консоль при выполнении bat-файла. Если я «выполняю только в том случае, если пользователь вошел в систему», я получаю обновленные данные для отображения в Internet Explorer, но каждые 15 минут на секунду появляется окно консоли.
Я попытался выполнить с помощью cmd /c "update" /min "PATH TO BAT"
, что не решает проблему.