Comentaban en una entrada de un comando como tree para Windows,el cual existe que es lstree.exe desde la cmd de Windows,pero también pensé en programar uno similar usando algún lenguaje de programación,como C o C++ para hacer tree para Windows pero como ya esta lstree.exe no es necesario asi que solo me quede con la idea del algoritmo,de como seria y es muy sencillo,una búsqueda recursiva de archivos y directorios,claro que tree tiene argumentos como ordenar alfabéticamente,solo directorios,mostrar bytes,etc pero luego del algoritmo principal se saca lo demás,así que para una búsqueda recursiva basta usar una función recursiva.
Veamos.
Creamos algunos archivos y carpetas:
tree :
El script en python:
Como ven le falta mucha vista,pero eso ya se hace teniendo el script principal,lo unico que queria mostrar era la busqueda recursiva usando una funcion recursiva.
Espero que les sirva :D.
Un extra para los Linuxeros/Unixeros:
Leer más...
Y que tiene que ver python?
Pues python o ruby son muy sencillos y los uso para hacer prototipos,como un tipo de pseudocodigo que pueda ejecutar,ya que python es mucho mas sencillo que C,C++,C#,Java y bueno:
#!/usr/bin/env python
from glob import glob
from os import path
"""
Algoritmo:
1.-Recorrer directorio y selecionar los directorios y archivos.
2.-Recorrer cada directorio y hacer lo mismo que el paso 1
"""
def dirs(x,n): # funcion principal
di = glob(x+"/"+"*") # vemos todo lo que esta adentro del directorio que nos manden
tabs = " "*n # Algo de vista
do = x.split('/') # Esto es para mostrar el archivo(por culpa de glob)
print tabs+do[-1]+" /" # Mostramos la vista
for i in di: # Recorremos el directorio
if path.isdir(i): # Si es direcotorio
dirs(i,n+1) # Empezamos la función recursiva
elif path.isfile(i): # Si es archivo
do = i.split('/') # gracias a glob :/
print "|"+tabs+do[-1] # Lo mostramos
if __name__ == "__main__": # Asi se ejecutan los scripts
dirs(".",0) # Iniciamos el script buscando en el directorio actual
Veamos.
Creamos algunos archivos y carpetas:
tree :
El script en python:
Como ven le falta mucha vista,pero eso ya se hace teniendo el script principal,lo unico que queria mostrar era la busqueda recursiva usando una funcion recursiva.
Espero que les sirva :D.
Un extra para los Linuxeros/Unixeros:
find . -print | sed 's;[^/]*/;->| ;g'
Eso es todo :D.












