Удерживать вывод пакетной команды до определенного времени
Я делаю пакетный скрипт для отправки номеров через последовательный порт на Arduino с задержкой в 1 секунду.
@echo off
mode COM3: baud=9600 data=8 >nul
for /l %%n in () do (
for /f "usebackq" %%a in (`wmic /namespace:\\root\openhardwaremonitor path sensor where "Identifier='/intelcpu/0/temperature/0'" get value^|findstr [0-9]`) do <nul set /p ="%%a">COM3
timeout /t 1 /nobreak >nul
for /f "usebackq" %%a in (`wmic /namespace:\\root\openhardwaremonitor path sensor where "Identifier='/nvidiagpu/0/temperature/0'" get value^|findstr [0-9]`) do <nul set /p ="%%a">COM3
timeout /t 1 /nobreak >nul
)
В основном это работает, но не синхронизируется при выполнении интенсивных задач, таких как игры, потому что команды wmic занимают больше времени. Я пытался сжать каждый бит производительности с помощью <nul set /p
команды и настройки с более высоким приоритетом, но это не сработало. Я смотрел на команды, как AT
где он планирует команду за раз, но кажется, что он просто запускает команду, а это не то, что я хочу.
Есть ли способ использовать команду, аналогичную тайм-ауту, но она обрабатывает команду в течение выделенного времени, поэтому она может немедленно выводить данные по истечении времени?