Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Прочесывание Папок / 8 сообщений из 8, страница 1 из 1
14.06.2006, 20:56
    #33791484
Прочесывание Папок
Как программно пройтись по разделам и удалить некоторые разделы (например известено название раздела извесно что их много нужно выудить эти разделы и удалить их..
________________
Факспро9 + Хп2сп
...
Рейтинг: 0 / 0
15.06.2006, 08:00
    #33791744
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прочесывание Папок
Разделы или папки?

Если имелись ввиду все-таки папки, то используй рекурсивно
Код: plaintext
ADIR(laDir, 'C:\*.*', 'D')
А потом проверяй что элемент является папкой:
Код: plaintext
at(laDir[i,  5 ], 'D') !=  0 
...
Рейтинг: 0 / 0
15.06.2006, 16:19
    #33793498
Прочесывание Папок
а нет ли класса какого нить который бы позволил получить сразу все дерево папок..
тут надо анализировать есть ли нужная папка
потом RD не позволяет удяалять пустые папки значит нужно залезть и смотреть что там есть и удалять их притом если есть подразделы опять смотреть пустые ли они и так далее углубляться што добраться до дна а потом выбираться назад и смотреть свой уровень чтобы не проскочить и еще нужно помнить нужные папки через которые уже прошелся чтоб нечаянно не чикнуть нужные папки.. короче страшно представить
...
Рейтинг: 0 / 0
15.06.2006, 16:23
    #33793521
Главный
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прочесывание Папок
я веду речь о разделах "типа папка" (folder, directory) а не разделах в смысле партиция (partition)
...
Рейтинг: 0 / 0
15.06.2006, 17:19
    #33793756
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прочесывание Папок
А еще в ДОС была утилитка deltree... :)
...
Рейтинг: 0 / 0
16.06.2006, 15:04
    #33795894
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прочесывание Папок
Так можно удалить с подпапками
Код: plaintext
1.
!del MyFolder\*.* /q/f/s
!rd MyFolder /s/q
...
Рейтинг: 0 / 0
16.06.2006, 15:31
    #33795993
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прочесывание Папок
ГлавныйГостьа нет ли класса какого нить который бы позволил получить сразу все дерево папок..
тут надо анализировать есть ли нужная папка
потом RD не позволяет удяалять пустые папки значит нужно залезть и смотреть что там есть и удалять их притом если есть подразделы опять смотреть пустые ли они и так далее углубляться што добраться до дна а потом выбираться назад и смотреть свой уровень чтобы не проскочить и еще нужно помнить нужные папки через которые уже прошелся чтоб нечаянно не чикнуть нужные папки.. короче страшно представить

Про рекурсию знаешь?
Делаешь код примерно такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
func ParseFolder
lpara tcFolder
local array laDir[ 1 ]
local lnC, i
lnC = ADIR(laDir, addbs(tcFolder) + '*.*', 'D')
for i =  1  to lnC
    if at('D', laDir[i,  5 ]) !=  0  and !inlist(laDir[i,  1 ], '.', '..')
       ParseFolder(addbs(tcFolder) + laDir[i,  1 ])
    endif
endfor
? tcFolder
return
Все просто и никаких классов не надо. Вызывай ParseFolder('c:\')
Код: plaintext
? tcFolder
Замени на твой код проверки и удаления.
...
Рейтинг: 0 / 0
17.06.2006, 22:10
    #33797687
Довольный
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прочесывание Папок
класс! в смысле классссно..
кстати addbs(tcFolder) + '*.*' и forcep('*.*',tcFolder) равнозначны?
по функциональности и по быстродейсвию...
а то я привык форсепатч использовать хотя это не принципиально спрашиваю просто так для инетреса..
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Прочесывание Папок / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]