Este script de PowerShell genera automáticamente una estructura de carpetas que comienza el 21 de noviembre de 1982 y llega hasta la fecha actual, creando carpetas por cada día intermedio. Dentro de cada día, se generan subcarpetas para Docs, Video, Audio, e Image.

Estructura de las Carpetas

El script crea una estructura jerárquica que sigue este formato:

1980s/
└── 1982/
└── 11/
└── 21/
├── Docs/
├── Video/
├── Audio/
└── Image/

Esta estructura se repetirá por cada día, avanzando desde la fecha de inicio (21 de noviembre de 1982) hasta la fecha en que se ejecuta el script.

Cómo usar el script

  1. Requisitos: Asegurate de tener PowerShell instalado en tu sistema. PowerShell viene preinstalado en versiones modernas de Windows.

  2. Instrucciones:

    • Crea un archivo de texto .txt en tu computadora con el nombre de tree-capsule.
    • Copia y pega el codigo completo que se muestra más a abajo
    • Renombra el archivo de .txt a .ps1
    • Abrí una ventana de PowerShell con permisos de administrador.
    • Navegá a la ubicación donde guardaste el archivo.
    • Ejecutá el script con el siguiente comando:
      ./tree-capsule.ps1
      
  3. Resultado: Al ejecutar el script, se crearán las carpetas para cada día desde el 21 de noviembre de 1982 hasta el día de la ejecución, con las subcarpetas Docs, Video, Audio, e Image en cada fecha.

Personalización

Si querés modificar la fecha de inicio o agregar más subcarpetas, podés editar el archivo tree-capsule.ps1.

  • Para cambiar la fecha de inicio, modificá esta línea:

    $fechaInicio = Get-Date -Year 1982 -Month 01 -Day 01
    
  • Para agregar más subcarpetas, podés editar la lista de subcarpetas en esta parte del código:

    $subcarpetas = @("Docs", "Video", "Audio", "Image")
    

script


# Definir la fecha de inicio (21 de noviembre de 1982)
$fechaInicio = Get-Date -Year 1982 -Month 11 -Day 21

# Obtener la fecha actual
$fechaActual = Get-Date

# Bucle para recorrer cada día desde la fecha de inicio hasta la fecha actual
for ($fecha = $fechaInicio; $fecha -le $fechaActual; $fecha = $fecha.AddDays(1)) {
    # Obtener el año, mes y día de la fecha actual en el bucle
    $anio = $fecha.Year
    $mes = $fecha.Month.ToString("00")  # Para tener el formato de dos dígitos
    $dia = $fecha.Day.ToString("00")    # Para tener el formato de dos dígitos

    # Crear la ruta base (década correspondiente, año, mes, día)
    $decada = "$($anio.ToString().Substring(0, 3))0s"
    $rutaBase = "$decada\$anio\$mes\$dia"

    # Crear las subcarpetas requeridas
    $subcarpetas = @("Docs", "Video", "Audio", "Image")

    # Verificar si la ruta ya existe, si no, crearla
    if (-not (Test-Path $rutaBase)) {
        foreach ($subcarpeta in $subcarpetas) {
            $rutaCompleta = Join-Path $rutaBase $subcarpeta
            New-Item -Path $rutaCompleta -ItemType Directory -Force | Out-Null
        }
        Write-Host "Carpetas creadas para: $anio-$mes-$dia"
    } else {
        Write-Host "Las carpetas ya existen para: $anio-$mes-$dia"
    }
}