catbean.pages.dev

Como validar uma lista de CPFs usando um script PowerShell?

Validar CPFs manualmente é uma tarefa propensa a erros e demorada. Com um script PowerShell, você automatiza o processo, garantindo precisão e rapidez no processamento de grandes listas.

Pré-requisitos

Passo 1: Criar o script de validação

Crie um arquivo chamado validar_cpfs.ps1 e adicione o seguinte código:

param(
    [string]$ArquivoCPFs
)

function Test-CPF {
    param($CPF)

    $CPF = $CPF -replace '[\D]', ''

    if ($CPF.Length -ne 11 -or $CPF -match '^(\d)\1{10}$') {
        return $false
    }

    $soma1 = 0
    $soma2 = 0
    for ($i = 0; $i -lt 9; $i++) {
        $soma1 += [int]$CPF[$i] * (10 - $i)
        $soma2 += [int]$CPF[$i] * (11 - $i)
    }

    $digito1 = (11 - ($soma1 % 11)) % 10
    $soma2 += $digito1 * 2
    $digito2 = (11 - ($soma2 % 11)) % 10

    return $CPF -eq "$($CPF.Substring(0, 9))$digito1$digito2"
}

if (-not (Test-Path $ArquivoCPFs)) {
    Write-Host "Arquivo não encontrado: $ArquivoCPFs" -ForegroundColor Red
    exit 1
}

$cpfs = Get-Content $ArquivoCPFs
$results = foreach ($cpf in $cpfs) {
    [PSCustomObject]@{
        CPF = $cpf
        Valido = $(Test-CPF $cpf)
    }
}

$results | Format-Table -AutoSize
$results | Export-Csv -Path "resultados_validacao.csv" -NoTypeInformation
Write-Host "Validação concluída. Resultados salvos em resultados_validacao.csv" -ForegroundColor Green

Passo 2: Executar o script

Abra o PowerShell como administrador e execute:

.\validar_cpfs.ps1 -ArquivoCPFs "caminho\para\cpfs.txt"

O script processará todos os CPFs do arquivo e criará um arquivo CSV com os resultados da validação.

Exemplo Prático

CPF (Entrada) Válido (Saída)
12345678909 Falso
11144477735 Verdadeiro
11111111111 Falso
07583422247 Verdadeiro

Conclusão

Com este script PowerShell, você valida listas de CPFs em segundos, eliminando erros manuais e garantindo a integridade dos dados para processos de cadastro, análise ou qualquer outra necessidade que exija CPFs válidos.