PowerShell Commands

Guía rápida interactiva para la gestión de archivos y carpetas

📁 Files & Folders ✔️ PowerShell 7+ 👨‍🏫 Material Didáctico

💡 Regla de Oro en PowerShell

La mayoría de los comandos siguen la estructura estándar de programación orientada a tareas:

Verbo-Sustantivo -Parámetro Valor

Ejemplo: New-Item (Crear elemento), Remove-Item (Eliminar elemento).

⚠️ ¡Cuidado con la Eliminación Forzada!

El parámetro Remove-Item -Recurse -Force destruirá directorios completos con todo su contenido sin pedir ninguna confirmación. Acostúmbrate a usar siempre -WhatIf primero para validar qué se borrará.

📄 Gestión de Archivos

Crear un archivo vacío
Alias común: ni
New-Item -Path "archivo.txt" -ItemType File
Crear un archivo con contenido directo
Operador de Redirección
"Hola mundo" | Out-File archivo.txt
Eliminar un archivo permanentemente
Alias: rm / del
Remove-Item -Path "archivo.txt"
Renombrar un archivo
Alias: ren
Rename-Item -Path "viejo.txt" -NewName "nuevo.txt"
Listar únicamente los archivos del directorio actual
Alias: ls / dir
Get-ChildItem -Path "." -File
Listar archivos aplicando un filtro por extensión
Filtros comodín
Get-ChildItem -Path "." -Filter "*.txt" -File

📂 Gestión de Carpetas (Directorios)

Crear una nueva carpeta
Equivalente directo: mkdir
New-Item -Path "C:\nueva_carpeta" -ItemType Directory
Borrar una carpeta solo si está vacía
Seguro por defecto
Remove-Item -Path "C:\carpeta"
Borrar carpeta y contenido de raíz (Sin preguntas)
🚨 ¡Uso crítico!
Remove-Item -Path "C:\carpeta" -Recurse -Force
Borrar con solicitud explícita de confirmación por ítem
Interactivo
Remove-Item -Path "C:\carpeta" -Recurse -Confirm
Listar carpetas dentro de una ruta especificada
Excluye archivos
Get-ChildItem -Path "C:\ruta" -Directory
Listar subcarpetas de manera recursiva (Árbol)
Árbol completo
Get-ChildItem -Path "C:\ruta" -Directory -Recurse

📋 Copiar Elementos

Copiar una carpeta completa con todo su contenido
Alias: cp / copy
Copy-Item -Path "C:\origen\carpeta" -Destination "C:\destino\" -Recurse
Copiar forzando la sobrescritura de archivos preexistentes
Sobrescribir
Copy-Item -Path "C:\origen\carpeta" -Destination "C:\destino\" -Recurse -Force
Copiar únicamente el contenido interno (Sin arrastrar la carpeta raíz)
Uso de comodín *
Copy-Item -Path "C:\origen\carpeta\*" -Destination "C:\destino\" -Recurse

🔧 Comandos Útiles y Extras

Mover archivos o carpetas (Cortar y Pegar)
Alias: mv / move
Move-Item -Path "origen" -Destination "destino"
Visualizar el contenido de un archivo de texto en consola
Alias: cat / type
Get-Content "archivo.txt"
Simular cualquier comando destructivo antes de ejecutarlo realmente
🛡️ Modo Seguro Activo
Remove-Item -Path "C:\carpeta" -Recurse -WhatIf
Contar la cantidad total de archivos presentes en la carpeta actual
Método .Count
(Get-ChildItem -File).Count

💻 Script Práctico de Laboratorio

Flujo completo secuencial para simular en el entorno local:

# 1. Crear la estructura inicial de trabajo
mkdir "C:\Proyecto\Docs"
New-Item "C:\Proyecto\Docs\README.md" -Value "# Registro del Servidor"

# 2. Auditar la estructura de manera recursiva
Get-ChildItem "C:\Proyecto" -Recurse

# 3. Clonar la documentación a una ruta de Respaldo
Copy-Item -Path "C:\Proyecto\Docs" -Destination "D:\Backup\" -Recurse -Force

# 4. Modificar el nombre del archivo de inicio
Rename-Item "C:\Proyecto\Docs\README.md" -NewName "INICIO.md"

# 5. Ejecutar simulación preventiva de borrado
Remove-Item "C:\Proyecto" -Recurse -WhatIf
🎯 Desafío Práctico para los Alumnos

Escribe una secuencia de comandos en PowerShell que cumpla con los siguientes objetivos de infraestructura:

  1. Crea un directorio llamado C:\RedesLocal.
  2. Dentro de él, genera un archivo llamado config.txt que contenga el texto "IP=192.168.1.1" (pista: usa pipeline o -Value).
  3. Crea una carpeta de respaldo llamada C:\BackupRedes y copia allí el archivo recién creado.
  4. Simula la eliminación de la carpeta original C:\RedesLocal usando el parámetro de protección preventiva.