我有一个批处理文件,我需要在WinPE中运行,但我得到了“缺少运算符”错误。我可以在普通的Windows7中运行批处理文件。
我认为在WinPE的某些环境中。变量不起作用。
有人能帮帮忙吗?
代码:
rem Print the percentage encrypted details
setlocal enabledelayedexpansion
if "%%i %%j"=="Percentage Encrypted:" (
set var=%%k
set var=!var:~0,-1!
if !Percent! LSS !var! (
echo Percentage Encrypted is !Percent!
set /A Percent=!var!/5
set /A Percent=!Percent!*5+5
)
if !Percent!==!var!(
echo Percentage Encrypted is !Percent!set /A Percent=!Percent!+5
)
)发布于 2014-05-21 14:53:56
正如我在我的评论中所建议的那样,这个问题是由于一个空变量造成的。为了防止代码引发错误,您需要用双引号将其括起来,但是,如果没有变量值,它将不会以您希望的方式运行。
我注意到你的代码的结构就像是for-loop的一部分。如果是这样,请向我们展示完整的代码以尝试帮助您:
rem Print the percentage encrypted details
setlocal enabledelayedexpansion
if "%%i %%j"=="Percentage Encrypted:" (
set var=%%k
set var=!var:~0,-1!
if "!Percent!" LSS "!var!" (
echo Percentage Encrypted is !Percent!
set /A Percent=!var!/5
set /A Percent=!Percent!*5+5
)
if "!Percent!"=="!var!"(
echo Percentage Encrypted is !Percent!set /A Percent=!Percent!+5
)
)发布于 2014-05-21 15:26:37
问题可能是语句太接近左圆括号(,您可能还想将set /a放在单独的行上;),请参阅以下建议的更改:
if "!Percent!"=="!var!" (
echo Percentage Encrypted is !Percent!
set /A Percent=!Percent!+5
)https://stackoverflow.com/questions/23775460
复制相似问题