Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Пример рекурсивного удаления

1
11 марта 2009 года
kot_
7.3K / / 20.01.2000
лень было искать похожее или удалять руками - потому написал для себя утилитку которая позволяет удалять по шаблону из директорий и поддиректорий. Кому надо - берите здесь - исходные коды присутствуют.
Обратите внимание на этот фрагмент

 
Код:
if(sr.Attr == faDirectory || sr.Attr == 0x2010){

такая конструкция нужна для того, что бы утилита смогла работать на сетевых ресурсах.
ВСВ 6.0
1
11 марта 2009 года
kot_
7.3K / / 20.01.2000
Комментариев нет - уж извините - да там особо и комментировать нечего.
Функции *WithLog - соотвественно позволяет формировать лог-файл. В остальном все тоже самое.
5
12 марта 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: kot_
Комментариев нет - уж извините - да там особо и комментировать нечего.
Функции *WithLog - соотвественно позволяет формировать лог-файл. В остальном все тоже самое.


Вродебы for в cmd.exe мог достаточно гибко по каталогам ходить.... хотя у него убийственный синтаксис.

3
12 марта 2009 года
Green
4.8K / / 20.01.2000
А чем не устроил del ?
Например: del /s/q/f *.obj *.res *.tmp
1
12 марта 2009 года
kot_
7.3K / / 20.01.2000
Устроил всем кроме одного - неудобно. Сегодня мне нужно очистить папку с проектом - завтра шару на сервере. После завтра изменить шаблон удаления - и удалить файлы с сетевого диска. Можно батник написать - но времени это займет столько же сколько и написание программы. Ну а так всем устраивает. Я о нем знаю :)
5
12 марта 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: kot_
Можно батник написать - но времени это займет столько же сколько и написание программы. Ну а так всем устраивает. Я о нем знаю :)


Согласен. Таким же спортом когда-то занимался :)

1
12 марта 2009 года
kot_
7.3K / / 20.01.2000
Что бы не возникало вопросов, я хочу пояснить - утилита не претендует заменить консольные утилиты командной строки. Они удобны всем, кроме одного - я не программист, который сидит на месте и занимается кодингом. Мне приходится мотаться в поисках заказов, эти самые заказы сдавать, кодить, помогать жене в работе ателье и много чего еще - поэтому я и написал для себя утилитку, в которой я могу быстро загрузить список нужных шаблонов, выбрать нужную мне дерикторию и запустить ее на выполнение.
Шаблоны - обычный текстовый файл, один шаблон - одна строка.
Кстати, может кто сталкивался - SHFileOperation тоже можно использовать - но она почему то без проблем удаляла накоторые файлы, но на некоторые выбрасывала "Неверный дискриптор". Например, из того списка который приведен на скриншоте на сайте все бекап-файлы удалялись, а obj, exe, tds и dll - ни в какую. Я честно говоря так и не разобрался почему - было бы интересно понять. Выявить какие то закономерности мне так и не удалось. Атрибуты файлов одинаковые, блокировоки отсуствуют, антивирус тоже отключал.
14
12 марта 2009 года
Phodopus
3.3K / / 19.06.2008
Цитата: kot_
SHFileOperation тоже можно использовать - но она почему то без проблем удаляла накоторые файлы, но на некоторые выбрасывала "Неверный дискриптор"


хммм..:confused: а имена файлов с полными путями были?

1
12 марта 2009 года
kot_
7.3K / / 20.01.2000
Цитата: Phodopus
хммм..:confused: а имена файлов с полными путями были?


да. естественно. все полностью одинаково. задавался список шаблонов - часть из них удалялась - а часть нет :) В отладчике видно что список передан полностью. ошибка выбивала в середине списка - т.е. идущие далее шаблоны превосходно обрабатывались. Кому интересно могу восстановить код функции - попробуйте сами. В данном варианте кода происходит прохождение по списку и вызов функции удаления. В том варианте я просто копировал список расширений, и вызовом метода GetText() присваивал его строке SFrom, добавлял два завершающих нулевых символа и вызывал функцию, которая заменяла "\r\n" на "\0".
После этого присваивал строку полю структуры. результат - некоторые удаляет некоторые нет. Проверка на ошибки - "неверный дескриптор", код ошибки 6.

246
12 марта 2009 года
GIZMO
1.8K / / 30.07.2004
Цитата: kot_

...
я и написал для себя утилитку, в которой я могу быстро загрузить список нужных шаблонов, выбрать нужную мне дерикторию и запустить ее на выполнение.
Шаблоны - обычный текстовый файл, один шаблон - одна строка.
...


Да, вещь полезная. Есть предложение интегрировать ее в IDE.

1
12 марта 2009 года
kot_
7.3K / / 20.01.2000
ну так и карты в руки, как говорится :)
14
13 марта 2009 года
Phodopus
3.3K / / 19.06.2008
Цитата: GIZMO
Да, вещь полезная. Есть предложение интегрировать ее в IDE.


Честно говоря не помню, работает ли оно с билдером, но в дельфийском GExperts есть такой вот эксперт.. (Судя по расширениям файлов с билдером все-таки работает)

246
15 марта 2009 года
GIZMO
1.8K / / 30.07.2004
Цитата: Phodopus
Честно говоря не помню, работает ли оно с билдером, но в дельфийском GExperts есть такой вот эксперт.. (Судя по расширениям файлов с билдером все-таки работает)


Эт знаю, но для меня GExperts интересен только "на запчасти".
Самому интересней в Билдере ковыряться:)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог