19.1 C
Madrid
sábado, octubre 25, 2025
spot_img
spot_img

Deshágase de las tareas repetitivas automaticándolas con scripts generados por IA

Siempre he creído que las computadoras deberían funcionar para nosotros, no al revés. Esto fue hasta que me encontré pasando innumerables horas en tareas sin sentido. Esto fue hasta que comencé a usar inteligencia sintético (IA) para crear sin esfuerzo los scripts de PowerShell para automatizar mis tareas de Windows.

PowerShell 101: Automatización de tareas para Windows

PowerShell es tanto un jerigonza de shell de cadeneta de comandos integrado en Windows que permite potentes capacidades de delegación y automatización del sistema, como explica Microsoft.

PowerShell Windows

En la maña, puede crear scripts (archivos autónomos que contienen comandos e instrucciones que se pueden ejecutar automáticamente) que hacen todo, desde operaciones de archivos simples hasta tareas complejas de gobierno de sistemas.

Hay innumerables scripts de PowerShell preparados en cadeneta que pueden manejar tareas comunes. Por ejemplo, el repositorio de scripts de PowerShell contiene más de 500 scripts gratuitos para tareas que van desde la delegación de la configuración del sistema hasta la automatización de las operaciones de archivos. Puede encontrar scripts que verifiquen el espacio de la dispositivo, la índice de software instalado e incluso organice fotos por época.

Pero aunque los scripts prefabricados son enseres, el cierto poder de PowerShell se desbloquea cuando crea scripts personalizados adaptados a sus evacuación únicas, y ahí es donde entra Ai.

Uso de AI para crear scripts de PowerShell personalizados

Permítanme explicar cómo creo scripts de PowerShell para automatizar tareas sin conocer efectivamente PowerShell, usando IA en un ejemplo práctico.

Recientemente recuperé un montón de datos utilizando Photorec de una dispositivo que descompostura. Desafortunadamente, terminé con miles de archivos diferentes en un solo directorio, y suceder por ellos fue una pesadilla. Para hacer las cosas un poco más fáciles, quería ordenar automáticamente este montón de archivos en categorías principales, como imágenes, audio, documentos, etc.

En división de suceder horas aprendiendo sintaxis de PowerShell o en averiguación del bandera prefabricado valentísimo, recurrí a Chatgpt con una descripción clara de lo que necesitaba. Así es como solicité la IA:

LEER  7 formas confiables de mejorar los tiempos de carga de datos en Windows
Chatgpt powerShell indicador 1

Los medios secreto que me aseguré de incluir en mi mensaje fueron:

  • ¿Qué debería suceder con los archivos que no coinciden con mis categorías?
  • La tarea exacta que quería conquistar (organizar archivos por extensión)
  • Las categorías y tipos de archivos específicos para cada categoría

Por supuesto, destacé el hecho en mi IA indicada de que mi objetivo era crear un bandera de PowerShell (como opuesto a, digamos, un bandera bash) al principio.

En cuestión de segundos, la IA generó este script PowerShell para automatizar las tareas para mí:

# Define the source folder as the current directory where the script is executed
$sourceFolder = $PSScriptRoot

# Define category folders and their associated file extensions
$categories = @{
"Images" = @(".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff", ".webp", ".svg", ".ico", ".raw", ".cr2", ".nef", ".heic", ".psd", ".ai", ".eps")
"Documents" = @(".pdf", ".docx", ".doc", ".txt", ".rtf", ".xlsx", ".xls", ".pptx", ".ppt", ".odt", ".ods", ".odp", ".md", ".csv", ".json", ".xml", ".html", ".htm", ".log", ".tex", ".epub", ".mobi")
"Audio" = @(".mp3", ".wav", ".aac", ".flac", ".ogg", ".wma", ".m4a", ".mid", ".midi", ".aiff", ".alac", ".ape", ".opus", ".amr", ".au", ".voc")
"Video" = @(".mp4", ".avi", ".mov", ".wmv", ".mkv", ".flv", ".webm", ".m4v", ".mpg", ".mpeg", ".3gp", ".3g2", ".ts", ".vob", ".ogv", ".divx", ".asf", ".rm", ".rmvb")
"Archives" = @(".zip", ".rar", ".7z", ".tar", ".gz", ".bz2", ".xz", ".cab", ".iso", ".tgz", ".tbz2", ".lzh", ".dmg", ".pkg", ".deb", ".rpm")
"Code" = @(".py", ".js", ".html", ".css", ".java", ".c", ".cpp", ".cs", ".php", ".rb", ".go", ".swift", ".sql", ".ps1", ".sh", ".bat", ".vbs", ".ts", ".jsx", ".r", ".pl", ".lua")
"Executables" = @(".exe", ".msi", ".app", ".apk", ".dll", ".bin", ".com", ".jar", ".gadget", ".wsf", ".appx", ".appxbundle")
"Other" = @()
}

# Create category folders if they don't exist
foreach ($category in $categories.Keys) {
$categoryPath = Join-Path -Path $sourceFolder -ChildPath $category
if (-not (Test-Path -Path $categoryPath)) Out-Null
Write-Host "Created folder: $category"

}

# Get all files in the source folder (non-recursive)
$files = Get-ChildItem -Path $sourceFolder -File | Where-Object { $_.Name -ne $MyInvocation.MyCommand.Name }

# Counter for moved files
$movedFiles = 0
$totalFiles = $files.Count

Write-Host "Starting to organize $totalFiles files..."

# Process each file
foreach ($file in $files) {
$extension = $file.Extension.ToLower()
$targetCategory = "Other"

# Determine which category the file belongs to
foreach ($category in $categories.Keys) {
if ($category -eq "Other") { continue }
if ($categories($category) -contains $extension) {
$targetCategory = $category
break
}
}

# Move the file to the appropriate category folder
$targetPath = Join-Path -Path $sourceFolder -ChildPath $targetCategory
$targetFile = Join-Path -Path $targetPath -ChildPath $file.Name

# Check if target file already exists and handle accordingly
if (Test-Path -Path $targetFile) {
$baseName = (System.IO.Path)::GetFileNameWithoutExtension($file.Name)
$newName = "$baseName`_$(Get-Random)$extension"
$targetFile = Join-Path -Path $targetPath -ChildPath $newName
}

Move-Item -Path $file.FullName -Destination $targetFile
$movedFiles++

# Show progress
$percentComplete = (math)::Round(($movedFiles / $totalFiles) * 100, 2)
Write-Progress -Activity "Organizing Files" -Status "$movedFiles of $totalFiles files processed ($percentComplete%)" -PercentComplete $percentComplete
}

Write-Host "File organization complete! Moved $movedFiles files into categories."

Como puede ver, todo el código está muy adecuadamente comentado, por lo que en efectividad es posible enterarse qué están haciendo las partes individuales con relativa facilidad, lo cual es excelente si desea memorizar PowerShell y hacer ajustes manuales usted mismo.

LEER  Cómo administrar los servicios de Windows a través de la línea de comandos
Script de bloc de notas PowerShell

Para convertir este código en un script apto, simplemente copió todo el coalición de código desde el chat de ai y abrió Bloc de notas de Windows (Aunque cualquier editor de texto funcionaría adecuadamente).

Correr con PowerShell

Posteriormente de pegar el código, yo guardado el archivo con un nombre descriptivo y el .ps1 extensión (como «organizar archivos.ps1»). Coloqué este script directamente en la carpeta con mis archivos recuperados y lo ejecuté haciendo clic derecho en el archivo y seleccionando Corre con PowerShell.

Windows de archivos organizados

En poco tiempo, miles de archivos dispersos se organizaron perfectamente en carpetas apropiadas.

Automatizar sus scripts de PowerShell generados por IA con el programador de tareas

¡Incluso mejor que un útil script PowerShell creado por AI es uno que automatizará sus tareas de Windows sin que tenga que pensar en ello!

Trabajo en mi computadora durante largas horas, y a menudo me olvido de tomar descansos, lo que conduce a la penuria visual y la productividad estrecha. Decidí crear un script que me recordara que tomara saltos de pantalla a intervalos regulares. Una vez más, recurrí a IA con un aviso claro:

PowerShell chatgpt indicador 2

La IA generó rápidamente este bandera que ahorra oculares:

# Script to remind user to take regular screen breaks

# Load required assemblies for notifications
Add-Type -AssemblyName System.Windows.Forms

# Function to show break reminder notification
function Show-BreakReminder Get-Random

# Create and configure the notification
$notification = New-Object System.Windows.Forms.NotifyIcon
$notification.Icon = (System.Drawing.SystemIcons)::Information
$notification.BalloonTipTitle = "Wellness Reminder"
$notification.BalloonTipText = $randomMessage
$notification.Visible = $true

# Show notification for 10 seconds
$notification.ShowBalloonTip(10000)

# Clean up after a delay
Start-Sleep -Seconds 12
$notification.Dispose()

# Display an initial notification
Show-BreakReminder

Write-Host "Break reminder displayed. Set this script to run hourly using Task Scheduler."

Este bandera era exactamente lo que necesitaba, pero no quería tener que recapacitar ejecutarlo manualmente. En su división, lo configuré para ejecutarse automáticamente una vez por hora usando el programador de tareas de Windows.

LEER  Use Copilot para controlar sin esfuerzo Android desde su escritorio
Programador de tareas Nuevas tareas básicas

Nuevamente, guardé el script PowerShell creado por AI como un archivo .ps1, luego abrí Planificador de tareas desde Menú de inicio y creó un nueva tarea básica con un detonador diario.

Editar programador de tareas de activación

Posteriormente de crear la tarea básica, necesitaba modificar la configuración de activación para la ejecución por hora. En la biblioteca de programador de tareas, localicé mi tarea recién creada y hice clic derecho para pretender Propiedades. Navegé al Desencadenantes pestaña y seleccionado Editar. En el Editar disparador ventana, revisé el Repita la tarea cada: opción y establecer el intervalo de repetición en 1 hora. Bajo duración, seleccioné Indefinidamenteluego hizo clic DE ACUERDO Para retener estas configuraciones.

Programador de tareas de propiedades de activación

Además necesitaba configurar correctamente la configuración de obra. En la ventana Propiedades, navegué al Comportamiento pestaña y seleccionado Editar. Para el campo del software/script, ingresé powershell.exe en división de la ruta directa a mi script. En el campo de argumentos Unir, entré -ExecutionPolicy Bypass -WindowStyle Hidden -File "C:UsersDavidDesktopeye-saver.ps1"que incluye tanto los parámetros de ejecución como la ruta completa a mi script.

Script de Saver PowerShell

Posteriormente de hacer estos cambios, hice clic DE ACUERDO Para retener la configuración de obra, luego hizo clic DE ACUERDO Nuevamente en la ventana Propiedades para finalizar todos los cambios. ¡El resultado valió la pena el esfuerzo!

La belleza de este enfoque de IA es que una vez que haya configurado algunas tareas automatizadas a través de scripts de PowerShell, su computadora comienza a trabajar para usted en segundo plano, haciendo todos esos pequeños empujones enseres que solían requerir que recuerde o establecer alarmas externas.

Si está interesado en explorar más capacidades de PowerShell para sus proyectos de automatización, consulte nuestra cicerone de los comandos esenciales de PowerShell que todo heredero de Windows debe enterarse. Estos comandos forman los bloques de construcción de scripts más complejos y lo ayudarán a comprender lo que está sucediendo bajo el capó de su automatización generada por IA.

Todas las imágenes y capturas de pantalla de David Morelo.

spot_img

Artículos relacionados

spot_img

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Últimos artículos