powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Прочесывание Папок
8 сообщений из 8, страница 1 из 1
Прочесывание Папок
    #33791484
Как программно пройтись по разделам и удалить некоторые разделы (например известено название раздела извесно что их много нужно выудить эти разделы и удалить их..
________________
Факспро9 + Хп2сп
...
Рейтинг: 0 / 0
Прочесывание Папок
    #33791744
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разделы или папки?

Если имелись ввиду все-таки папки, то используй рекурсивно
Код: plaintext
ADIR(laDir, 'C:\*.*', 'D')
А потом проверяй что элемент является папкой:
Код: plaintext
at(laDir[i,  5 ], 'D') !=  0 
...
Рейтинг: 0 / 0
Прочесывание Папок
    #33793498
а нет ли класса какого нить который бы позволил получить сразу все дерево папок..
тут надо анализировать есть ли нужная папка
потом RD не позволяет удяалять пустые папки значит нужно залезть и смотреть что там есть и удалять их притом если есть подразделы опять смотреть пустые ли они и так далее углубляться што добраться до дна а потом выбираться назад и смотреть свой уровень чтобы не проскочить и еще нужно помнить нужные папки через которые уже прошелся чтоб нечаянно не чикнуть нужные папки.. короче страшно представить
...
Рейтинг: 0 / 0
Прочесывание Папок
    #33793521
Главный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я веду речь о разделах "типа папка" (folder, directory) а не разделах в смысле партиция (partition)
...
Рейтинг: 0 / 0
Прочесывание Папок
    #33793756
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще в ДОС была утилитка deltree... :)
...
Рейтинг: 0 / 0
Прочесывание Папок
    #33795894
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так можно удалить с подпапками
Код: plaintext
1.
!del MyFolder\*.* /q/f/s
!rd MyFolder /s/q
...
Рейтинг: 0 / 0
Прочесывание Папок
    #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
Прочесывание Папок
    #33797687
Довольный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
класс! в смысле классссно..
кстати addbs(tcFolder) + '*.*' и forcep('*.*',tcFolder) равнозначны?
по функциональности и по быстродейсвию...
а то я привык форсепатч использовать хотя это не принципиально спрашиваю просто так для инетреса..
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Прочесывание Папок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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