批处理解密器中出现缺少运算符错误

批处理解密器中出现缺少运算符错误

此解密程序出现大量缺失运算符错误。问题出在哪里?

@echo off
setlocal EnableDelayedExpansion

::OS_sertificate
set code=494715842
set /p sertificate=input
set chars=0123456789abcdefghijklmnopqrstuvwxyz

for /L %%N in (10 1 36) do (

for /F %%C in ("!chars:~%%N,1!") do (

set /A math=%%N+%code%+2*2,74:2

for /F %%F in ("!math!") do (
set "sertificate=!sertificate:%%N=-%%C!"
)
)
)

for /F %%F in ("!sertificate!") do (

set "sertificate=!sertificate:-=!"

)


echo !sertificate!
pause>nul

答案1

你的问题线是

set /A math=%%N+%code%+2*2,74:2

:不是有效的运算符,因此 SET 将其解释为应包含数字的变量。因此 SET 认为数字是 number ,而它们之间没有运算符,因此会引发错误。

我不知道这条线应该做什么,所以我无法建议如何修复它。

您可以更改的一件事是 SET /A 可以直接读取变量而无需扩展。因此您可以使用code而不是%code%。但这并不能解决您的问题。

相关内容