Buscar archivos.

Ver el tema anterior Ver el tema siguiente Ir abajo

Buscar archivos.

Mensaje por carlosmgilp el Mar Jul 12, 2016 7:59 pm

Hola muchachos como están.

Tengo una estructuras de carpetas de la siguiente manera.

Código:
Carpeta principal
         Carpeta secundaria
                   piezas
                             p1 - Archivo1
                                    Archivo2
                                    Archivo3
                             p2 - Archivo1
                                    Archivo2
                                    Archivo3
                             p3 - Archivo1
                                    Archivo2
                                    Archivo3
                             p4 - Archivo1
                                    Archivo2
                                    Archivo3
                             p5 - Archivo1

Que quiero lograr.

Encontrar un archivo especifico, sin tener que colocar cada ruta completa, porque como son muchos se vuelve mas tedioso.
Por ejemplo, agregaría en mi código solamente. p2 - Archivo1
Sin necesidad de colocar el resto de carpetas que preceden al archivo.

Una de las cosas que se me ocurrió fue colocar en support file search path la mitad de la ruta en este caso desde la carpeta principal, hasta la carpeta piezas. Se que puedo extraer esas rutas con (getenv "ACAD") pero de ahí en adelante me pare, porque no supe como manejar la información. intente con el findfile y el la carpeta que necesito con la pieza, pero no me lo reconoció, siempre tengo que colocarla completa.

Bueno espero me puedan ayudar y de antemano muchas gracias.
Saludos.

carlosmgilp

Mensajes : 70
Fecha de inscripción : 17/03/2016
Edad : 35
Localización : Venezuela

Ver perfil de usuario

Volver arriba Ir abajo

Re: Buscar archivos.

Mensaje por nolo el Miér Jul 13, 2016 1:37 pm

Tendrías que meter cada uno de los caminos en el path de búsqueda de autocad
Mira a ver si con esto lo solucionas, esta basado en una recursiva que no se si es de Gerardo o de Lee Mac porque la tengo ya muy trastocada y no recuerdo, disculparme.

Código:

;; carpeta es la ruta de la carpeta principal desde la que buscar
;; archivo es el nombre del archivo con su extensión pero sin ruta
(defun buscar_en( carpeta archivo / carpetas_de file)
(defun carpetas_de( carpeta )
 (apply 'append (mapcar '(lambda (c)
 (cons (setq c (strcat carpeta "" c)) (carpetas_de c))
 ) (vl-remove-if '(lambda(a) (member a '( "." ".."))) (vl-directory-files carpeta nil -1))
 ))
)
(if (findfile (strcat carpeta "\\" archivo))
 (setq file (list carpeta))
 (setq file (carpetas_de carpeta))
)
(if (setq file (vl-remove nil(mapcar '(lambda(x) ( findfile (strcat  x "\\" archivo) ))file)))(car file))
)

Un saludo

Se me olvidaba (vl-load-com) debe estar cargado y la ruta de carpeta se debe escribir con dobles slast invertidos \\ y entre comillas
Curioso, cad vez que lo edito me quita un slast de los entrecomillados en el código


Última edición por nolo el Jue Jul 14, 2016 10:13 pm, editado 3 veces

nolo

Mensajes : 98
Fecha de inscripción : 17/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Buscar archivos.

Mensaje por carlosmgilp el Miér Jul 13, 2016 7:35 pm

Hola hermano como estas.
Gracias por la ayuda, peno logro hacer que funcione, porque parece que hay comillas de mas, pensé que estaba faltandole en las contra barras pero no funciono.

Si me pudieras hacer un ejemplo con unas carpetas x en tu disco duro c, por ejemplo si creas tres carpetas en c y según los nombre y un archivo cualquiera yo los crearía aquí y sabría que funciona, porque no se si estoy colocando bien las contra barras de la carpeta principal.

Mil gracias.

carlosmgilp

Mensajes : 70
Fecha de inscripción : 17/03/2016
Edad : 35
Localización : Venezuela

Ver perfil de usuario

Volver arriba Ir abajo

Re: Buscar archivos.

Mensaje por nolo el Jue Jul 14, 2016 10:24 pm

Pues curiosamente cada vez que edito el mensaje me quita un slast del código. Sin embargo, si solo previsualizo no desaparecen ????
Supongo que poco a poco iremos aprendiendo a utilizar el foro y estas cosas no pasarán.
Disculpa, te dejo la rutina en el dropbox con un par de ejemplos al final

https://www.dropbox.com/s/tlevvgie1n1tzqd/buscar_en.lsp?dl=0

Un saludo

nolo

Mensajes : 98
Fecha de inscripción : 17/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Buscar archivos.

Mensaje por carlosmgilp el Dom Jul 17, 2016 3:56 am

Hola nolo como estas.

La rutina funciono muy bien, muchísimas gracias de todo corazón y disculpa la demora en responder.

Un saludo.

carlosmgilp

Mensajes : 70
Fecha de inscripción : 17/03/2016
Edad : 35
Localización : Venezuela

Ver perfil de usuario

Volver arriba Ir abajo

Re: Buscar archivos.

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.