每次迭代减少500伏电压

时间:2017-07-20 00:45:58

标签: windows batch-file cmd

运行批处理文件以减少500电压时出现问题。 这条线给我一些问题:

@ECHO OFF
cls
set COM_PORT=com5

set Voltage=3000

:start
echo "setting voltage to %Voltage%"
set Voltage=%Voltage%-500
echo "setting next voltage to %Voltage%"
pause
goto start

问题是电压每次迭代都不会减少。

2 个答案:

答案 0 :(得分:3)

您错过了/a中的set /a Voltage = %Voltage% - 500开关。您还可以删除set /a命令中的百分号,例如set /a Voltage = Voltage - 500;和赋值运算符也可以工作。 set /a Voltage -= 500。但最有效的解决方案是for /L循环。

@echo off & setlocal
set "COM_PORT=com5"

for /L %%I in (3000, -500, 0) do (
    set /a "Voltage=%%I"
    echo Setting next voltage to %%I
    pause
)

在cmd控制台中执行set /?for /?以获取完整详细信息。

答案 1 :(得分:1)

绝对有效!!

    @ECHO OFF
    cls
    set COM_PORT=com5

    set Voltage=3000

    :start
    echo "setting voltage to %Voltage%"
    set /A Voltage = %Voltage% - 500
    echo "setting next voltage to %Voltage%"
    pause
    goto start