Obtendo um erro de operador ausente no decodificador em lote

0

Este programa de descriptografia fornece uma carga de erros ausentes do operador. O que está errado?

@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
builder_247
fonte

Respostas:

1

Sua linha do problema é

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

:não é um operador válido, portanto, SET interpreta-o como uma variável que deve conter um número. Então o SET vê o número do número, sem um operador entre eles, e gera um erro.

Não tenho idéia do que a linha deve fazer, portanto não posso sugerir como corrigi-la.

Uma coisa que você pode mudar - SET / A pode ler variáveis ​​diretamente sem expansão. Então você pode usar em codevez de %code%. Mas isso não vai resolver o seu problema.

dbenham
fonte
É para dividir. Eu nunca usei muito o set / a, então era um código meio aleatório: / mas obrigado, você me ajudou muito.
Builder_247