Batch-Satti
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Batch-Satti

Você não está conectado. Conecte-se ou registre-se

Batch - Funções com RG e CPF

Ir para baixo  Mensagem [Página 1 de 1]

1Batch - Funções com RG e CPF Empty Batch - Funções com RG e CPF Seg Abr 18, 2011 8:29 am

NeoqJav

NeoqJav

Batch - Funções com CPF: [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Código:

@echo off
:: http://paste.ubuntu.com/595473/
goto  :menu
:error
echo. Op‡Æo invalida
:menu
Title Fun‡äes com CPF by NeoqJav
ECHO. ******************************
echo. * Fun‡äes com CPF:          *
ECHO. ******************************
echo. *1. Descobrir D¡gitos Finais *
echo. *2. Analisar se CPF ‚ valido *
echo. *3. Descobre D¡gito Errado  *
echo. *4. Sair                    *
echo. ******************************
set /p opcao=Digite sua op‡Æo:
cls
if %opcao%==1 goto:digitos
if %opcao%==2 goto:validos
if %opcao%==3 goto:anagramas
if %opcao%==4 goto:eof
goto :error

:digitos
set /p cpf=Digite seu CPF sem os dois £ltimos digito e sem pontos:
if "!cpf:~8,1!"=="" goto :digitos
set /a soma=%cpf:~0,1% * 10 + %cpf:~1,1% *9 + %cpf:~2,1% *8 + %cpf:~3,1% *7 + %cpf:~4,1% *6 + %cpf:~5,1% *5 + %cpf:~6,1% *4 + %cpf:~7,1% *3 + %cpf:~8,1% *2
setlocal ENABLEDELAYEDEXPANSION
set /a teste=!soma!  %% 11
if !teste!==1 (set teste=0 & goto :pula1 )
set /a teste=11 - teste
:pula1
set d1=!teste!
set /a soma=%cpf:~0,1% * 11 + %cpf:~1,1% *10 + %cpf:~2,1% *9 + %cpf:~3,1% *8 + %cpf:~4,1% *7 + %cpf:~5,1% *6 + %cpf:~6,1% *5 + %cpf:~7,1% *4 + %cpf:~8,1% *3 + !teste! * 2

set /a teste=!soma!  %% 11
if !teste!==1 (set teste=0 & goto :pula2 )
set /a teste=11 - teste
:pula2
set d2=!teste!

echo. Digito verificador ‚ !d1!!d2!
pause
cls
goto :menu

:sai

 
:validos
set /p cpf=Digite seu CPF [com 11 D¡gitos Num‚ricos] :
if "%cpf:~10,1%"=="" goto :validos
set /a soma=%cpf:~0,1% * 10 + %cpf:~1,1% *9 + %cpf:~2,1% *8 + %cpf:~3,1% *7 + %cpf:~4,1% *6 + %cpf:~5,1% *5 + %cpf:~6,1% *4 + %cpf:~7,1% *3 + %cpf:~8,1% *2
setlocal ENABLEDELAYEDEXPANSION
set /a teste=!soma!  %% 11
if !teste!==1 (set teste=0 & goto :pula1 )
set /a teste=11 - teste
:pula1
set d1=!teste!
set /a soma=%cpf:~0,1% * 11 + %cpf:~1,1% *10 + %cpf:~2,1% *9 + %cpf:~3,1% *8 + %cpf:~4,1% *7 + %cpf:~5,1% *6 + %cpf:~6,1% *5 + %cpf:~7,1% *4 + %cpf:~8,1% *3 + !teste! * 2

set /a teste=!soma!  %% 11
if !teste!==1 (set teste=0 & goto :pula2 )
set /a teste=11 - teste
:pula2
set d2=!teste!
title !d1!!d2!
if /I "!d1!!d2!" EQU "!cpf:~-2! " (echo. CPF: !cpf! VALIDO  & goto:saiuval )
if /I "!d1!!d2!" EQU "!cpf:~-2!" (echo. CPF: !cpf! VALIDO )
if /I "!d1!!d2!" NEQ "!cpf:~-2!" (echo. CPF: !cpf! INVALIDO  )
:saiuval
pause
cls
goto :menu


:anagramas
set /p bkp=Digite seu CPF [com 11 D¡gitos Num‚ricos] :
if /i "%bkp:~10,1%" NEQ "" goto :okanagra
goto :anagramas
:okanagra
if /i "%bkp:~11,1%" NEQ "" goto :anagramas

for /l %%i in (0,1,9) do (call :valido %%i!bkp:~1!)
for /l %%i in (0,1,9) do ( if /i "%%i" NEQ "!bkp:~1,1!" call :valido !bkp:~0,1!%%i!cpf:~2!)
for /l %%i in (0,1,9) do ( if /i "%%i" NEQ "!bkp:~2,1!" call :valido !bkp:~0,2!%%i!cpf:~3!)
for /l %%i in (0,1,9) do ( if /i "%%i" NEQ "!bkp:~3,1!" call :valido !bkp:~0,3!%%i!cpf:~4!)
for /l %%i in (0,1,9) do ( if /i "%%i" NEQ "!bkp:~4,1!" call :valido !bkp:~0,4!%%i!cpf:~5!)
for /l %%i in (0,1,9) do ( if /i "%%i" NEQ "!bkp:~5,1!" call :valido !bkp:~0,5!%%i!cpf:~6!)
for /l %%i in (0,1,9) do ( if /i "%%i" NEQ "!bkp:~6,1!" call :valido !bkp:~0,6!%%i!cpf:~7!)
for /l %%i in (0,1,9) do ( if /i "%%i" NEQ "!bkp:~7,1!" call :valido !bkp:~0,7!%%i!cpf:~8!)
for /l %%i in (0,1,9) do ( if /i "%%i" NEQ "!bkp:~8,1!" call :valido !bkp:~0,8!%%i!cpf:~9!)
for /l %%i in (0,1,9) do ( if /i "%%i" NEQ "!bkp:~9,1!" call :valido !bkp:~0,9!%%i!cpf:~10!)
for /l %%j in (0,1,9) do ( 
for /l %%i in (0,1,9) do ( if /i "%%i" NEQ "!bkp:~10,1!"  call :valido !cpf:~0,9!%%j%%i)
)

pause
cls
goto :menu


:valido
set cpf=%~1
set /a soma=%cpf:~0,1% * 10 + %cpf:~1,1% *9 + %cpf:~2,1% *8 + %cpf:~3,1% *7 + %cpf:~4,1% *6 + %cpf:~5,1% *5 + %cpf:~6,1% *4 + %cpf:~7,1% *3 + %cpf:~8,1% *2
setlocal ENABLEDELAYEDEXPANSION
set /a teste=!soma!  %% 11
if !teste!==1 (set teste=0 & goto :pula1 )
set /a teste=11 - teste
:pula1
set d1=!teste!
set /a soma=%cpf:~0,1% * 11 + %cpf:~1,1% *10 + %cpf:~2,1% *9 + %cpf:~3,1% *8 + %cpf:~4,1% *7 + %cpf:~5,1% *6 + %cpf:~6,1% *5 + %cpf:~7,1% *4 + %cpf:~8,1% *3 + !teste! * 2

set /a teste=!soma!  %% 11
if !teste!==1 (set teste=0 & goto :pula2 )
set /a teste=11 - teste
:pula2
set d2=!teste!
title !d1!!d2!
if /I "!d1!!d2!" EQU "!cpf:~9,1!!cpf:~10,1!" (echo. CPF: !cpf! VALIDO)
if /I "!d1!!d2!" EQU "!cpf:~9,1!!cpf:~10,1! " (echo. CPF: !cpf! VALIDO)
exit/b


E RG: [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Código:

@echo off
:: http://paste.ubuntu.com/595474/
:menu
cls
echo. ******************************
echo. * Fun‡äes com RG            *
ECHO. *1. Descobrir £ltimo d¡gito  *
echo. *2. Ver se RG ‚ valido      *
echo. *0. SAIR                    *
echo. ******************************
set /p opcao=Digite sua opcao:
if %opcao%==1 goto :digitorg
if %opcao%==2 goto :validos
if %opcao%==0 goto :eof
GOTO :menu

:digitorg
set /p rg=Digite seu rg sem o £ltimo digito e sem pontos:
if "%rg:~7,1%"=="" goto :digitorg
set /a soma=%rg:~0,1% * 2 + %rg:~1,1% *3 + %rg:~2,1% *4 + %rg:~3,1% *5 + %rg:~4,1% *6 + %rg:~5,1% *7 + %rg:~6,1% *8 + %rg:~7,1% *9
setlocal ENABLEDELAYEDEXPANSION
for /l %%i in ( 0,1,9 ) do (
set /a teste=!soma! + %%i
set /a teste=!teste! %% 11
if !teste!==0 echo. D¡gito verificador ‚ %%i
)
pause
goto :menu


:validos
set /p rg=Digite seu rg :
if "%rg:~8,1%"=="" goto :validos
set /a soma=%rg:~0,1% * 2 + %rg:~1,1% *3 + %rg:~2,1% *4 + %rg:~3,1% *5 + %rg:~4,1% *6 + %rg:~5,1% *7 + %rg:~6,1% *8 + %rg:~7,1% *9
setlocal ENABLEDELAYEDEXPANSION
set digito=x
for /l %%i in ( 0,1,9 ) do (
set /a teste=!soma! + %%i
set /a teste=!teste! %% 11
if !teste!==0 set digito=%%i
)

if %digito%==%rg:~8,1% echo. RG: %rg% VALIDO
if /i %digito% NEQ %rg:~8,1% ( echo. RG: %rg% INVALIDO  )
pause
goto :menu

http://neoqjav.dihitt.com.br

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos