Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.09.2012, 15:31
kriv0y kriv0y вне форума
Новичок
 
Регистрация: 20.02.2011
Адрес: Луганжелес
Сообщения: 60
Версия Delphi: 7.
Репутация: 10
По умолчанию Копирование скрытых и системных файлов

С помощью функции
Код:
function FindNext(var F: TSearchRec): Integer;
нахожу по маске *.doc все документы на всех жестких дисках, и заношу их места хранения(пути) в текстовый файл. Потом делаю копирование всех найденных файлов в нужную директорию вот этой функцией
Код:
  CopyFile(Pchar(path1), Pchar(path2), true);
Но дело в том, что первая функция поиска, находит все файлы, даже те которые скрытые, временные или же лежащие в корзине диска и вот такие вроде, как системные файлы, она копировать не хочет. Я специально указываю, что бы она находила именно все файлы. Вот казалось бы функции все равно где файл и какой он, а значит это надо делать, что то с атрибутами таких файлов, или я заблуждаюсь?

Последний раз редактировалось kriv0y, 03.09.2012 в 15:39.
Ответить с цитированием
  #2  
Старый 03.09.2012, 15:37
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от kriv0y
Потом делаю копирование всех найденных файлов в нужную директорию вот этой функцией
Код:
 function Copy ( Source : string; StartChar, Count : Integer ) : string;
Эта функция не копирует файлы, она копирует подстроку из строки.
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо poli-smen за это полезное сообщение:
kriv0y (03.09.2012), Pyro (03.09.2012)
  #3  
Старый 03.09.2012, 15:38
kriv0y kriv0y вне форума
Новичок
 
Регистрация: 20.02.2011
Адрес: Луганжелес
Сообщения: 60
Версия Delphi: 7.
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Эта функция не копирует файлы, она копирует подстроку из строки.

Пардон, вот так копирую


Код:
 CopyFile(Pchar(path1), Pchar(path2), true);
Ответить с цитированием
  #4  
Старый 03.09.2012, 15:39
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

можно или атрибуты смотреть, или глушить ошибки копирования
__________________
>woweook<
Ответить с цитированием
  #5  
Старый 03.09.2012, 15:42
kriv0y kriv0y вне форума
Новичок
 
Регистрация: 20.02.2011
Адрес: Луганжелес
Сообщения: 60
Версия Delphi: 7.
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pyro
можно или атрибуты смотреть, или глушить ошибки копирования

спасибо, буду копать вот эти заглушки копирования!
Ответить с цитированием
  #6  
Старый 03.09.2012, 15:43
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от kriv0y
Пардон, вот так копирую
Код:
 CopyFile(Pchar(path1), Pchar(path2), true);
Эта функция нормально копирует и скрытые и системные файлы, ну если они не блокируется чем-то. И ещё если эта функция не может скопировать она устанавливает код ошибки который можно прочитать с помощью GetLastError, какую ошибку она даёт когда не может скопировать файл?
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
kriv0y (03.09.2012)
  #7  
Старый 03.09.2012, 15:44
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

пустота .
__________________
>woweook<
Ответить с цитированием
  #8  
Старый 03.09.2012, 16:14
kriv0y kriv0y вне форума
Новичок
 
Регистрация: 20.02.2011
Адрес: Луганжелес
Сообщения: 60
Версия Delphi: 7.
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
с помощью GetLastError, какую ошибку она даёт когда не может скопировать файл?

Функция действительно обрабатывает все файлы. Те мои файлы которые она скопировать не может, говорит "Файл существует". Это вообще непонятно для меня, потому что файлы поидее все уникальные должны быть. Я проверю сейчас их уникальность.
Ответить с цитированием
  #9  
Старый 03.09.2012, 16:26
kriv0y kriv0y вне форума
Новичок
 
Регистрация: 20.02.2011
Адрес: Луганжелес
Сообщения: 60
Версия Delphi: 7.
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pyro
пустота .
Пустота холодна
Ответить с цитированием
  #10  
Старый 03.09.2012, 16:28
kriv0y kriv0y вне форума
Новичок
 
Регистрация: 20.02.2011
Адрес: Луганжелес
Сообщения: 60
Версия Delphi: 7.
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Эта функция нормально копирует и скрытые и системные файлы, ну если они не блокируется чем-то. И ещё если эта функция не может скопировать она устанавливает код ошибки который можно прочитать с помощью GetLastError, какую ошибку она даёт когда не может скопировать файл?

Спасибо, разобрался, не копирует, потому что попадаются дубликаты файлов. Просто я не мог представить, что их тысячи с одинаковыми названиями даже в самой виндовс))))
Ответить с цитированием
  #11  
Старый 03.09.2012, 16:33
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

см. её 3-ий параметр:
Цитата:
Specifies how this operation is to proceed if a file of the same name as that specified by lpNewFileName already exists. If this parameter is TRUE and the new file already exists, the function fails. If this parameter is FALSE and the new file already exists, the function overwrites the existing file and succeeds.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
kriv0y (03.09.2012)
  #12  
Старый 03.09.2012, 16:46
kriv0y kriv0y вне форума
Новичок
 
Регистрация: 20.02.2011
Адрес: Луганжелес
Сообщения: 60
Версия Delphi: 7.
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
см. её 3-ий параметр:
Спасибо! Я как раз углубился в изучение этой функции.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:44.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter