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.
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
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.
| CPF (Entrada) | Válido (Saída) |
|---|---|
| 12345678909 | Falso |
| 11144477735 | Verdadeiro |
| 11111111111 | Falso |
| 07583422247 | Verdadeiro |
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.