![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 24.02.2009
Сообщений: 269
|
![]()
Здраствуйте форумчанины!!!!!
Возникла такая пробелма! Хочу удалить папку, в которой находятся много файлов.... Вот код удаления: Код:
Тогда выдается ошибка. Как сделать так, чтобы если будет обнаружен такой файл, то его надо будет пропустить и продолжать удаление дальше? |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А если по одному файлику пробовать с перехватом для каждого удаления персонально?
Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 47
|
![]()
В таком случае использование класса DirectoryInfo вам не подойдет. Надо создать масив обьектов ФайлИнфо. И работать с ним, поскольку директориинфо удаляет папку, а поскольку там можеть быть рабочий файл - у вас не получиться.
Попробуйте чтото в роде етого. Накинул ескизик ток что. Если что - спрашивайте. Код:
KISS - Keep It Simple Stupid
Последний раз редактировалось Neser; 06.01.2011 в 19:15. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 24.02.2009
Сообщений: 269
|
![]()
Neser
А если допустим у нас в данной папке, находится еще несколько подпапок, которые нужно удалить.... что тогда нужно делать? |
![]() |
![]() |
![]() |
#5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Рекурсия.
Через Directory.GetDirectories получаешь подкаталоги, и этим же способом по ним проходись.
I'm learning to live...
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 47
|
![]()
Аналогично как с файлами, тоесть тоже создаеш масив и удаляеш всех. Вот уже полный код. Кстати с праздником)
Код:
KISS - Keep It Simple Stupid
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 47
|
![]()
Но для того что бы процедура удаление занимала и субпапки, тоесть удаляла только те файлы которые не заняты нужно использовать рекурсию как заметил коллега)
KISS - Keep It Simple Stupid
Последний раз редактировалось Neser; 06.01.2011 в 20:54. Причина: дабл |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 24.02.2009
Сообщений: 269
|
![]()
И вас всех с наступающем рождеством....
А не могли бы вы привести пример рекурсии..... а то я только начинаю изучать шарп, и мне не совсем это понятно...)))) |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 47
|
![]()
Рекурсия ето когда функция, метод, процедура вызывает себя. Ето не особенность шарпа, такое бывает почти во всех языках. Вот етот код болие-мение рабочий. Тестил - работает, но все равно есть кое-какие недочеты)
Р.S. Если помог, можеш сказать спасибо нажав на весы) Код:
KISS - Keep It Simple Stupid
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 24.02.2009
Сообщений: 269
|
![]()
Neserвот столкнулся с такой проблемой....
ваш код работает, спасибо вам за это...))) Но..., когда я удаляю папку, в которой есть подкаталоги с файлами, есть файл, который используется программой. При попытки удаления его возникает ошибка в этой строчке Код:
как сделать, чтобы она продолжала работать дальше....? Я читал справку в MSDN. Они пишут, что можно это исправить посредством чтения доступа файла, доступен ли он для чтения или нет, но я так ничего и непонял как реализовать это.... не могли бы вы мне помочь в этом разобраться? |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаление каталога | Linel | PHP | 11 | 10.03.2010 17:31 |
Удаление каталога | Manager | Общие вопросы C/C++ | 1 | 24.10.2009 11:30 |
удаление каталога | Volkogriz | Общие вопросы Delphi | 7 | 23.12.2008 19:36 |
Удаление каталога с файлами | SANTA_KLAUD | Общие вопросы Delphi | 17 | 28.05.2008 17:47 |
Удаление непустого каталога | Fia | Общие вопросы Delphi | 3 | 07.05.2007 14:11 |