Тема: Поиск файла на диске по имени
Есть множество примеров по проверке существования файла или папки, а как найти файл или папку по имени?
"FileSearch" (VB) не работает под Акадом.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → LISP → Поиск файла на диске по имени
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Есть множество примеров по проверке существования файла или папки, а как найти файл или папку по имени?
"FileSearch" (VB) не работает под Акадом.
Используй функции dos_search, dos_find из библиотеки DosLib
А чем не подходит старая добрая findfile ?
(findfile "c:/Program Files")
> pavel
Может это не совсем то, делалось не совсем для поиска, но переделать всегда можно.
(defun _FOLDERCONTENT (PATH /) (mapcar '(lambda (X) (strcat PATH "\\" X)) (cddr (vl-directory-files PATH))) ) ;_ end of defun (defun _DECOMPOSITION (PATHS /) (cond ((not PATHS) NIL) ((vl-file-directory-p (car PATHS)) (append (_DECOMPOSITION (_FOLDERCONTENT (car PATHS))) (_DECOMPOSITION (cdr PATHS)))) ((cdr PATHS) (cons (car PATHS) (_DECOMPOSITION (cdr PATHS)))) (car PATHS) ) ;_ end of cond ) ;_ end of defun (defun QQQ (FOLDERS / FILES) (setq FILES (mapcar '(lambda (X) (_DECOMPOSITION (_FOLDERCONTENT X))) FOLDERS)) ;(length (car FILES)) ) ;_ end of defun
и пример вызова:
(YOUR_FILEWRITING "C:\\111.txt" (car (QQQ (list "C:\\Program Files\\AutoCAD 2000i"))) "w")
осталось только внедрить свой код, можно и просто использовать
(member...)
, ковыряясь в FILES из QQQ.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → LISP → Поиск файла на диске по имени
Форум работает на PunBB, при поддержке Informer Technologies, Inc