0

WinPE で実行する必要があるバッチ ファイルが 1 つありますが、"Missing Operator" エラーが発生します。通常の Windows 7 でバッチ ファイルを実行できます。

私は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
)
)
4

2 に答える 2

0

問題は、ステートメントが左括弧に近すぎることである可能性があり、別の行(にドロップすることもできますset /a;)、以下の提案された変更を参照してください:

if "!Percent!"=="!var!" (
echo Percentage Encrypted is !Percent!
set /A Percent=!Percent!+5
)
于 2014-05-21T07:26:37.357 に答える
0

私のコメントで示唆したように、問題は null 変数が原因です。コードでエラーが発生しないようにするには、コードを二重引用符で囲む必要がありますが、変数の値がないと期待どおりに機能しません。

あなたのコードは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-21T06:53:56.453 に答える