1
Limpiar nombres de archivos masivamente
Clean file names in bulk
Base de todo flujoFoundation step
Eliminar letras innecesarias, espacios dobles, guiones raros o caracteres que complican la carga a otros sistemas.
Remove unnecessary letters, double spaces, odd hyphens, or characters that make system uploads harder.
Get-ChildItem "C:\Photos" -Filter "*.jpg" |
Rename-Item -NewName { $_.Name -replace "^P", "" }
2
Extraer números desde nombres de archivos
Extract numbers from file names
IDs limpiosClean IDs
Separar el número real de un archivo aunque venga mezclado con letras, espacios o prefijos.
Separate the real number from a file name even when it is mixed with letters, spaces, or prefixes.
$id = $_.BaseName -replace "\D", ""
3
Renombrar archivos usando una lista oficial
Rename files using an official list
Lookup / cruceLookup / match
Buscar un Alt ID en un CSV y sustituirlo por el Employee ID correcto.
Look up an Alt ID in a CSV file and replace it with the correct Employee ID.
$lookup = Import-Csv "C:\Data\Employees.csv"
$match = $lookup | Where-Object { $_.Alt_ID -eq $id }
Rename-Item $_.FullName "$($match.Employee_ID).jpg"
4
Mover archivos encontrados y no encontrados
Move found and not-found files
Control visualVisual control
Separar automáticamente lo válido de lo que necesita revisión manual.
Automatically separate valid files from items that need manual review.
if ($match) {
Move-Item $_.FullName "C:\Photos\Found"
} else {
Move-Item $_.FullName "C:\Photos\Excluded"
}
5
Detectar duplicados por nombre
Detect duplicates by name
Rápido y simpleFast and simple
Comparar dos carpetas o una misma carpeta para identificar archivos repetidos.
Compare two folders or one folder to identify repeated files.
Compare-Object $folder1.Name $folder2.Name -IncludeEqual |
Where-Object { $_.SideIndicator -eq "==" }
6
Detectar duplicados por hash
Detect duplicates by hash
Más confiableMore reliable
Encontrar archivos iguales aunque tengan nombres diferentes.
Find identical files even when their names are different.
Get-ChildItem "C:\Photos" -File |
Get-FileHash |
Group-Object Hash |
Where-Object { $_.Count -gt 1 }
7
Crear reportes de archivos procesados
Create reports of processed files
AuditoríaAudit trail
Dejar evidencia con nombre, tamaño, fecha y resultado del proceso.
Leave evidence with file name, size, date, and process result.
Get-ChildItem "C:\Photos" |
Select-Object Name, Length, LastWriteTime |
Export-Csv "C:\Reports\Photo_Report.csv" -NoTypeInformation
8
Validar archivos contra una lista de empleados activos
Validate files against an active employee list
GobernanzaGovernance
Detectar fotos o documentos que pertenecen a personas no activas o no autorizadas.
Detect photos or documents linked to inactive or unauthorized people.
$active = Import-Csv "C:\Data\ActiveEmployees.csv"
$active.Employee_ID -contains $_.BaseName
9
Normalizar extensiones de archivos
Normalize file extensions
ConsistenciaConsistency
Convertir extensiones como .JPG, .jpeg o .JPEG a un formato estándar.
Convert extensions such as .JPG, .jpeg, or .JPEG into one standard format.
Get-ChildItem "C:\Photos" -File |
Where-Object { $_.Extension -match "jpeg|JPG" } |
Rename-Item -NewName { $_.BaseName + ".jpg" }
10
Eliminar archivos temporales o basura
Remove temporary or junk files
LimpiezaCleanup
Quitar archivos .tmp, copias antiguas o documentos generados por error.
Remove .tmp files, old copies, or documents generated by mistake.
Get-ChildItem "C:\Data" -Include *.tmp, *copy* -Recurse |
Remove-Item -WhatIf
11
Estandarizar columnas de un CSV
Standardize CSV columns
Data limpiaClean data
Reordenar columnas, renombrarlas o exportar solo las necesarias.
Reorder columns, rename them, or export only the required fields.
Import-Csv "C:\Data\raw.csv" |
Select-Object Employee_ID, FirstName, LastName, Department |
Export-Csv "C:\Data\clean.csv" -NoTypeInformation
12
Remover espacios antes y después de valores
Trim spaces before and after values
Errores invisiblesInvisible errors
Evitar que un ID no coincida porque trae espacios ocultos.
Prevent ID mismatches caused by hidden spaces.
Import-Csv "C:\Data\raw.csv" | ForEach-Object {
$_.Employee_ID = $_.Employee_ID.Trim()
$_
}
13
Buscar valores vacíos o incompletos
Find blank or incomplete values
CalidadQuality
Identificar registros sin ID, sin email, sin departamento o con campos críticos vacíos.
Identify records without ID, email, department, or other critical fields.
Import-Csv "C:\Data\employees.csv" |
Where-Object { [string]::IsNullOrWhiteSpace($_.Employee_ID) }
14
Validar formatos de email
Validate email formats
Antes de enviarBefore sending
Detectar correos mal escritos antes de una carga o comunicación masiva.
Detect malformed emails before an upload or mass communication.
Import-Csv "C:\Data\employees.csv" |
Where-Object { $_.Email -notmatch "^[^@\s]+@[^@\s]+\.[^@\s]+$" }
15
Comparar dos CSV y encontrar diferencias
Compare two CSV files and find differences
Control de cambiosChange control
Ver qué empleados, registros o IDs aparecen en una lista y no en otra.
See which employees, records, or IDs appear in one list but not another.
$a = Import-Csv "C:\Data\old.csv"
$b = Import-Csv "C:\Data\new.csv"
Compare-Object $a.Employee_ID $b.Employee_ID
16
Dividir un archivo grande en varios archivos pequeños
Split a large file into smaller files
Carga controladaControlled upload
Preparar data grande para sistemas que tienen límites de filas o tamaño.
Prepare large data for systems with row or size limits.
$rows = Import-Csv "C:\Data\big.csv"
$rows | Select-Object -First 1000 |
Export-Csv "C:\Data\part1.csv" -NoTypeInformation
17
Unir varios CSV en uno solo
Merge multiple CSV files into one
ConsolidaciónConsolidation
Consolidar reportes mensuales, descargas de sistemas o archivos por departamento.
Consolidate monthly reports, system exports, or department files.
Get-ChildItem "C:\Reports" -Filter "*.csv" |
Import-Csv |
Export-Csv "C:\Reports\combined.csv" -NoTypeInformation
18
Crear logs de errores durante el proceso
Create error logs during processing
TransparenciaTransparency
Guardar qué falló, cuándo falló y por qué no se procesó un archivo.
Save what failed, when it failed, and why a file was not processed.
try {
Rename-Item $oldName $newName -ErrorAction Stop
} catch {
$_.Exception.Message | Out-File "C:\Logs\errors.txt" -Append
}
19
Ejecutar limpieza programada
Run scheduled cleanup
RepetibleRepeatable
Automatizar una limpieza diaria o semanal usando Task Scheduler.
Automate daily or weekly cleanup using Task Scheduler.
powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\CleanData.ps1"
20
Generar un paquete final listo para BI o carga a sistema
Generate a final package ready for BI or system upload
Entrega proProfessional delivery
Crear carpeta final con data limpia, archivos renombrados, excluidos y reporte de auditoría.
Create a final folder with clean data, renamed files, excluded items, and an audit report.
New-Item "C:\Output\Final" -ItemType Directory -Force
Copy-Item "C:\Data\clean.csv" "C:\Output\Final"
Copy-Item "C:\Reports\audit.csv" "C:\Output\Final"