Удаление папок и файлов на сервере

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Подскажите решение, надо удалить по FTP все файлы и папки и пропустить то что сервер не позволяет удалить.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Сделать экшен удаления необязательным, тогда он не будет выпадать по красной ветке
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Блин, а я такое сложное решение сделал. :-) Получаем список файлов на сервере, исключаем из него не нужный файл по счетчику. Далее берем следующую строку из списка и пихаем ее в экшен Удалить директорию по красной ветке с него уходим на экшн Удалить файл, по зеленой берем следующую строку. Данное извращение во вложении. :-)
 

Вложения

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Главное чтобы работало) а вариантов решений обычно много для одного и того же)
 
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Сделать экшен удаления необязательным, тогда он не будет выпадать по красной ветке
Экшен как встречает файл который запрещено удалять сервером так сразу прекращает работу не удалив ничего из того что можно.

Вот ошибка:
Тип Время Сообщение
15:30:45 "Ошибка при удалении директории на Ftp узле blah.com Rebex.Net.FtpBatchTransferException: Cannot delete remote file ('/.ftpquota'). Prohibited file name: /.ftpquota (553). ---> Rebex.Net.FtpException: Prohibited file name: /.ftpquota (553).
в Rebex.Net.Ftp.1SAJuN(Int32 , Boolean )
в Rebex.Net.Ftp.VD0EjZ(String , 27NpLhZ )
в Rebex.Net.Ftp.2coi0bZ(String , 27NpLhZ )
в gbMKS.2DV1RXZ.DeleteRemoteItem(1Acxa2 remoteItem, String remotePath)
--- Конец трассировки внутреннего стека исключений ---
в 1RyBHn.1yALZOZ.HandleException(Exception ex, TransferProblemType type, 1Acxa2 remoteItem, 1Acxa2 localItem, 1q3PzH defaultAction, 1q3PzH possibleReactions, 1q3PzH& chosenAction)
в 1RyBHn.1yALZOZ.HandleCaughtException(Exception caught, String message, TransferProblemType type, 1Acxa2 remoteItem, 1Acxa2 localItem, 1q3PzH possibleActions, 1q3PzH& chosenAction)
в 1RyBHn.1yALZOZ.anDJoZ(String , 1Acxa2 )
в 1RyBHn.1yALZOZ.VTHj7(1YiDCIZ )
в 1RyBHn.1yALZOZ.1idltvZ()
в 1RyBHn.1yALZOZ.Transfer(TransferAction action, 18waHwZ sourceFilter, String targetPath, TransferMethod transferMethod, MoveMode moveMode, LinkProcessingMode actionOnLinks, ActionOnExistingFiles actionOnExistingFiles, 1Acxa2 expectedRootItem)
в Rebex.Net.Ftp.1q2jM0Z(1qDVqm )
в Rebex.Net.Ftp.Delete(String remotePath, TraversalMode traversalMode)
в ZennoLab.FTP.FtpBrowser.SnBWfflcOjD6ZZdeLICC(Object , Object , TraversalMode )
в ZennoLab.FTP.FtpBrowser.DeleteDirectory(String remotePath)"
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)