<!-- 23 -->
<p>
  Esta función la hice pensando en que a veces quiero obtener de forma recursiva el listado de archivos en mi equipo
  para eliminarlos, renombrarlos u ordenarlos, por ello hice una función que retorna en un archivo txt:
</p>
<ol class="lst">
  <li style="margin: 0; padding: 0;">Nombre del archivo</li>
  <li style="margin: 0; padding: 0;">Extensión</li>
  <li style="margin: 0; padding: 0;">Fecha última modificación</li>
  <li style="margin: 0; padding: 0;">Ruta del archivo</li>
  <li style="margin: 0; padding: 0;">Tamaños del Archivo</li>
  <li style="margin: 0; padding: 0;">Año</li>
  <li style="margin: 0; padding: 0;">Mes</li>
  <li style="margin: 0; padding: 0;">Día</li>
  <li style="margin: 0; padding: 0;">Hora</li>
  <li style="margin: 0; padding: 0;">Minuto</li>
  <li style="margin: 0; padding: 0;">Segundo</li>
</ol>
<p>
  La forma de usarlo es muy sencilla, en tu terminal mueve a la carpeta que deseas obtener de forma recursiva el
  listado
  de archivos, luego llama a la función, ejemplo: <br><br>
  Quiero exportar la información de mi carpeta de descargas, y quiero que el archivo se llame carpeta_descargas.
</p>
<div class="img zoomable">
  <img src="/static/source_imgs/powershell/pst_2/1.png" alt="">
</div>
<p>
  Cómo podemos ver en la imagen anterior, el archivo se guardará como <b>carpeta_descargas</b> y al final te dice en
  que ruta se guardará el documento, te recomiendo que abras un nuevo archivo de excel e importes el documento para
  que veas la información tabulada.
</p>
<ol class="lst">
  <li style="margin: 0; padding: 0;">Abrir un nuevo documento de Excel.</li>
  <li style="margin: 0; padding: 0;">En la barra de herramientas seleccionar la opción de datos.</li>
  <li style="margin: 0; padding: 0;">Seleccionar la opción "De texto/CSV".</li>
  <li style="margin: 0; padding: 0;">Ir a la ruta donde se guardó el archivo y seleccionarlo.</li>
  <span>En la ventana emergente seleccionar las opciones:</span>
  <li style="margin: 0; padding: 0;">Origen de archivo: 1252: Europeo occidental (Windows)</li>
  <li style="margin: 0; padding: 0;">Delimitador: --Personalizado-- y en la casilla de abajo coloca un pipe |</li>
  <li style="margin: 0; padding: 0;">Detección del tipo de datos: Basado en las primeras 200 filas</li>
</ol>

<pre><i class="bi bi-copy"> Copiar código</i>
<code class="code_lightMode">
function exportDirectoryFilesTxt {
	param(
		[string]$fileName
	)
	
	# Asegurarse de que el archivo tenga la extensión .txt
	$fileName = "$fileName.txt"
	
	# Crear el archivo
	New-Item -Path $fileName -ItemType File -Force
	
	# Obtener el directorio actual
	$curPath = $pwd
	
	# Definir los encabezados
	$headers = "File_Name|Extension_File|Date_Last_Write_Time|File_Path|MB_Size_File|Year|Month|Day|Hour|Minute|Second"
	Set-Content -Path $fileName -Value $headers | Out-Null
	
	# Obtener los archivos y añadir su información al archivo
	Get-ChildItem -File -Recurse -Path $curPath | ForEach-Object {
		$iterObj = $_.LastWriteTime
		$fileSizeMB = [math]::Round((Get-Item -Path $_.FullName).Length / 1MB, 2)  # Redondear a 2 decimales
		$fileInfo = "$($_.Name)|$($_.Extension)|$($_.LastWriteTime)|$($_.FullName)|$fileSizeMB|$($iterObj.Year)|$($iterObj.Month)|$($iterObj.Day)|$($iterObj.Hour)|$($iterObj.Minute)|$($iterObj.Second)"
		Add-Content -Path $fileName -Value $fileInfo | Out-Null
	}
	
	# Mover el archivo al escritorio (asegúrate de que $desktop esté definido)
	$desktop = [Environment]::GetFolderPath("Desktop")
	Move-Item -Path $fileName -Destination $desktop
	Write-Host "Archivo guardado en la ruta: $desktop\$fileName"
}
</code></pre>