首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WinPE中缺少运算符

WinPE中缺少运算符
EN

Stack Overflow用户
提问于 2014-05-21 14:22:34
回答 2查看 116关注 0票数 0

我有一个批处理文件,我需要在WinPE中运行,但我得到了“缺少运算符”错误。我可以在普通的Windows7中运行批处理文件。

我认为在WinPE的某些环境中。变量不起作用。

有人能帮帮忙吗?

代码:

代码语言:javascript
复制
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
)
)
EN

回答 2

Stack Overflow用户

发布于 2014-05-21 14:53:56

正如我在我的评论中所建议的那样,这个问题是由于一个空变量造成的。为了防止代码引发错误,您需要用双引号将其括起来,但是,如果没有变量值,它将不会以您希望的方式运行。

我注意到你的代码的结构就像是for-loop的一部分。如果是这样,请向我们展示完整的代码以尝试帮助您:

代码语言:javascript
复制
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
)
)
票数 0
EN

Stack Overflow用户

发布于 2014-05-21 15:26:37

问题可能是语句太接近左圆括号(,您可能还想将set /a放在单独的行上;),请参阅以下建议的更改:

代码语言:javascript
复制
if "!Percent!"=="!var!" (
echo Percentage Encrypted is !Percent!
set /A Percent=!Percent!+5
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23775460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档