我正在制作一个批处理脚本,通过串行端口将数字发送到 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
,例如它一次安排一个命令的位置,但似乎它只是运行命令然后这不是我想要的。
有没有办法使用类似于 timeout 的命令,但它在分配的时间内处理命令,所以它可以在时间结束时立即输出?