Lo que estoy buscando es algún tipo de software que pueda generar en un archivo de texto el árbol/jerarquía de directorios aplanados , incluido cualquier archivo que contenga. Es para fines de copia de seguridad.
Digamos, por ejemplo, que tengo D:\Software que contiene un par de carpetas, D:\Software\Soft1 y D:\Software\Soft2 , y un par de archivos, D:\Software\Soft1\run1.exe y D:\ Software\inicio.bin
El archivo de texto en la salida debería verse así:
[D:\Software]
[D:\Software\Soft1]
[D:\Software\Soft1\run1.exe]
[D:\Software\Soft2]
[D:\Software\start.bin]
Espero haber dejado claro lo que necesito.
Según tengo entendido, dada una carpeta de entrada, le gustaría aplanar el árbol/jerarquía de carpetas y escribir el resultado en un archivo de texto con el formato que especificó.
He escrito un script de PowerShell para lograrlo.
Cree un archivo de texto .ps1 (por ejemplo , Flatten-Dir.ps1 ) con el siguiente contenido:
param
(
# The input/root folder to process
[Parameter(Mandatory = $true)]
[string]$InputFolder,
# The output folder that will contain the flattened folder tree
[Parameter(Mandatory = $true)]
[string]$OutputFile
)
function recdir($InputFolder)
{
Get-ChildItem -Path $InputFolder | foreach {
if($_.Attributes -eq "Directory")
{
Write-Output ("[" + $_.FullName + "]`r`n")
recdir $_.FullName
}
else
{
Write-Output ("[" + $_.FullName + "]`r`n")
}
}
}
Set-Content -Path $OutputFile -Force ("[" + $InputFolder + "]`r`n")
recdir $InputFolder | Add-Content -Path $OutputFile
Luego, ejecútelo en un entorno de PowerShell y proporcione la carpeta de entrada que desea procesar, seguido del archivo de salida que contendrá el árbol de carpetas plano. Por ejemplo:
Flatten-Dir.ps1 C:\tmp\Software C:\tmp\flattened_tree.txt
El script utiliza una función recursiva personalizada para lograr ese resultado deseado en particular. Si alguien piensa que hay una manera mejor/más fácil de hacerlo, hágamelo saber.
Como prueba, si esta es la estructura de carpetas con algunos archivos...
... entonces esto es lo que escribe el script en el archivo de salida:
[C:\tmp\Software]
[C:\tmp\Software\Soft1]
[C:\tmp\Software\Soft1\run.exe]
[C:\tmp\Software\Soft1\setting.ini]
[C:\tmp\Software\Soft1\test.bat]
[C:\tmp\Software\Soft2]
[C:\tmp\Software\Soft2\Soft3]
[C:\tmp\Software\Soft2\abc.txt]
[C:\tmp\Software\Soft2\def.htm]
[C:\tmp\Software\start.bin]
Viejo oso gruñón