Batch file 批处理中的两个问题:ELSE不是';t被识别为命令,并且(此时)是意外的
在批处理过程中,我使用一个计算机电源水平检查程序,测试并计算出“(”上的错误是:Batch file 批处理中的两个问题:ELSE不是';t被识别为命令,并且(此时)是意外的,batch-file,Batch File,在批处理过程中,我使用一个计算机电源水平检查程序,测试并计算出“(”上的错误是: IF /I "%Battery.PowerOnline%"=="TRUE" ( 我认为另外一个问题是: pause ) ELSE ( ECHO. 这是我的密码: @echo off set x=1 :f :: Use WMI to retrieve battery status information FOR /F "tokens=1* delims==" %%A IN
IF /I "%Battery.PowerOnline%"=="TRUE" (
我认为另外一个问题是:
pause
)
ELSE
(
ECHO.
这是我的密码:
@echo off
set x=1
:f
:: Use WMI to retrieve battery status information
FOR /F "tokens=1* delims==" %%A IN ('WMIC /NameSpace:"\\root\WMI" Path BatteryStatus Get Charging^,Critical^,Discharging /Format:list ^| FIND "=TRUE"') DO ECHO Battery is %%A
FOR /F "tokens=* delims=" %%A IN ('WMIC /NameSpace:"\\root\WMI" Path BatteryStatus Get PowerOnline^,RemainingCapacity /Format:list ^| FIND "="') DO SET Battery.%%A
FOR /F "tokens=* delims=" %%A IN ('WMIC /NameSpace:"\\root\WMI" Path BatteryRuntime Get EstimatedRuntime /Format:list ^| FIND "="') DO SET Battery.%%A
FOR /F "tokens=* delims=" %%A IN ('WMIC /NameSpace:"\\root\WMI" Path BatteryFullChargedCapacity Get FullChargedCapacity /Format:list ^| FIND "="') DO SET Battery.%%A
:: Calculate runtime left and capacity
SET /A Battery.EstimatedRuntime = ( %Battery.EstimatedRuntime% + 30 ) / 60
SET /A Battery.RemainingCapacity = ( %Battery.RemainingCapacity%00 + %Battery.FullChargedCapacity% / 2 ) / %Battery.FullChargedCapacity%
echo %Battery.RemainingCapacity%%%
:: Display results
echo.
echo.
IF /I "%Battery.PowerOnline%"=="TRUE" (
ECHO Now working on main power
ECHO.
ECHO Battery %Battery.RemainingCapacity%%% charged
ECHO.
ECHO.
pause
)
ELSE
(
ECHO.
ECHO Estimated remaining runtime %Battery.EstimatedRuntime% minutes
ECHO.
ECHO Remaining capacity %Battery.RemainingCapacity%%%
ECHO.
ECHO.
if "Battery.RemainingCapacity%"=="4555%" (
pause
echo m
) else (
goto f
)
)
必须编码为
) else (
(即,在同一行上关闭paren、else
并重新打开paren。)
对于一个
DO(
btw…。Hmmmmm,这消除了else问题,但不是一个问题。不过,感谢这一点。Hmmmmm,也许如果“%Battery.RemainingCapacity%”==“4555”(
比如果“Battery.RemainingCapacity%”==“4555%”(
如果%Battery.RemainingCapacity%”leq 4555%)工作得更好(moreso,
) else (