|
|
|
Копирование дерева
|
|||
|---|---|---|---|
|
#18+
Задача, видимо, стара как MSDOS, но как это по-элегантней решить? Нужно копировать (удалять) содержимое папки (включая все подпапки и под-под и...). Колличество под-уровней неизвестно. 1. Если использовать FindFirst и т.д. - кажнтся громоздко и наверное это неправильно? 2. SHFileOperation - читал, но, как понял, она не копирует подпапки там надо имя файла или список имен. Так, что умные люди делают, а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 11:25 |
|
||
|
Копирование дерева
|
|||
|---|---|---|---|
|
#18+
Может просто команду выполнить? del ... copy ... Видимо, это можно сделать функцией system(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 12:50 |
|
||
|
Копирование дерева
|
|||
|---|---|---|---|
|
#18+
Напиши рекурсивную функцию, которая если находит файл удаляет (копирует), если каталог - вызывает себя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 14:49 |
|
||
|
Копирование дерева
|
|||
|---|---|---|---|
|
#18+
А что уже xcopy функция не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 15:34 |
|
||
|
Копирование дерева
|
|||
|---|---|---|---|
|
#18+
По поводу рекурсивной функции: findfirst как правило находит сначала папки. Сл-но я буду углубляться в дерево и там что-то копировать. Но потом можно бкдет вернуться и докопировать то что начал на более верхних уровнях?? Если у кого есть такая задачка на Билдере плиз вывесите здесь. Я видел такое на каком-то непонятном языке, толком ничего не разобрал. Извините. кстати: что за функция xcopy() ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 17:31 |
|
||
|
Копирование дерева
|
|||
|---|---|---|---|
|
#18+
Сорри не функция а команда операционной системы windows XCOPY источник [результат] [/A | /M] [/D[:дата]] [/P] [/S [/E]] [/V] [/W] [/C] [/Q] [/F] [/L] [/H] [/R] [/T] [/K] [/O] [/X] [/Y] [/-Y] [/N] [/Z] [/EXCLUDE:файл1[+файл2][+файл3]...] источник Копируемые файлы. результат Местоположение и/или имена новых файлов. /A Копирование только файлов с установленным архивным атрибутом. Сам атрибут при этом не изменяется. /M Копирование только файлов с установленным архивным атрибутом. После копирования атрибут снимается. /D:дата Копирование файлов, измененных не ранее указанной даты. Если дата не указана, заменяются только конечные файлы, более старые, чем исходные. /EXCLUDE:файл1[+файл2][+файл3]... Список файлов, содержащих строки. Когда любая из строк Совпадает с любой частью абсолютного пути к копируемому файлу, такой файл исключается из операции копирования. К примеру, указав строку \obj\ или .obj можно исключить все файлы из папки obj или все файлы с расширением obj соответственно. /P Вывод запросов перед созданием каждого нового файла. /S Копирование каталогов с подкаталогами (кроме пустых). /E Копирование каталогов с подкаталогами (в том числе пустых). Эквивалентен сочетанию ключей /S /E. Совместим с ключом /T. /V Сравнение конечных файлов с исходными. /W Вывод запроса на нажатие клавиши перед копированием. /C Продолжение копирования, независимо от наличия ошибок. /I Если результат не существует, а копируется несколько файлов, считается, что указано имя каталога. /Q Запрет вывода имен копируемых файлов. /F Вывод полных имен исходных и конечных файлов. /L Вывод имен копируемых файлов. /H Копирование скрытых и системных файлов (среди прочих). /R Разрешение замены файлов, предназначенных только для чтения. /T Создание структуры каталогов (кроме пустых каталогов) без копирования файлов. Если требуется создать пустые каталоги и подкаталоги, используйте сочетание ключей /T /E. /U Копирование только файлов, уже имеющихся в конечном каталоге. /K Копирование атрибута "Только чтение" (обычно он сбрасывается). /N Использование коротких имен при копировании. /O Копирование сведений о владельце и данных ACL. /X Копирование параметров аудита файлов (требует /O). /Y Подавление запроса подтверждения на перезапись существующего конечного файла. /-Y Обязательный запрос подтверждения на перезапись существующего конечного файла. /Z Копирование сетевых файлов с возобновлением. Ключ /Y можно установить через переменную среды COPYCMD. Ключ /-Y командной строки переопределяет такую установку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 20:45 |
|
||
|
Копирование дерева
|
|||
|---|---|---|---|
|
#18+
А по поводу findfirst >>> findfirst как правило находит сначала папки. Сл-но я буду углубляться в >>> дерево и там что-то копировать. Но потом можно бкдет вернуться и >>>докопировать то что начал на более верхних уровнях?? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 21:16 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2035092]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
4ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 432ms |

| 0 / 0 |
