Erro de operador ausente no decodificador de lote

0

Este programa de descriptografia fornece uma carga de erros do operador ausentes. 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
    
por builder_247 30.01.2015 / 17:51

1 resposta

1

Sua linha de problema é

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

code não é um operador válido, portanto, o SET interpreta 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.

Eu não tenho ideia do que a linha deve fazer, então não posso sugerir como consertar isso.

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

    
por 30.01.2015 / 21:07