Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2009, 13:31   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вообще-то в SHFileOperation есть параметр:
FOF_SILENT Does not display a progress dialog box.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.03.2009, 13:42   #12
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

Stilet ты хочешь сказать этим кодом он перехватывает копируемые файлы и дублирует в определеную папку?
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 07.03.2009, 13:18   #13
Костян Пират
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 103
По умолчанию

Цитата:
Сообщение от KWN, lnc Посмотреть сообщение
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
FullDirectoryCopy;
end;
логически подумайте: процедура должна на экстрасенсорном уровне определить какую именно папку и куда именно надо копировать?

вопрос по параметрам StopIfNotAllCopied, OverWriteFiles. Я так понимаю 1й в случае true останавливает процесс копирования,если чт-то не удалось скопировать, а 2й, если true, переписывает существующие файлы. я прав?
Костян Пират вне форума Ответить с цитированием
Старый 07.03.2009, 13:45   #14
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Можно вопрос по теме?
Код:
procedure CopyDir(FromDir,ToDir:string);
begin
winexec(PChar('cmd /c xcopy /C /H /Q /Y '+FromDir+' '+ToDir),SW_Hide);
end;
если использовать эту процедуру , то копируется, только файлы , если добавить /E - то будет копировать и каталоги

Код:
Procedure CopyDir(FromDir,ToDir:string);
begin
winexec(PChar('cmd /c xcopy /C /H /Q /Y /E '+ FromDir+' '+ToDir),SW_Show);
end;
Но если попытатся скопировать папки Program Files или Documents and Settings - тобиш системные , то не чего не копируется , с другими всё нормально , хотя стоит /H - Копирует скрытые и системные файлы

Можете подсказать ошибку?

Зарание спасибо
lexaltd вне форума Ответить с цитированием
Старый 07.03.2009, 14:02   #15
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Может быть стоит дополнительно указать параметры /G (Разрешает копирование шифрованных файлов в конечную папку) и /R (Заменяет файлы, доступные только для чтения)?
Jeni вне форума Ответить с цитированием
Старый 07.03.2009, 14:09   #16
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Цитата:
Сообщение от Jeni Посмотреть сообщение
Может быть стоит дополнительно указать параметры /G (Разрешает копирование шифрованных файлов в конечную папку) и /R (Заменяет файлы, доступные только для чтения)?
Написал так
Код:
Procedure CopyDir(FromDir,ToDir:string);
begin
winexec(PChar('cmd /c xcopy /C /H /Q /Y /E/G/R '+ FromDir+' '+ToDir),SW_Show);
end;
Всё равно не работает
lexaltd вне форума Ответить с цитированием
Старый 07.03.2009, 14:25   #17
eskander
Пользователь
 
Аватар для eskander
 
Регистрация: 01.03.2009
Сообщений: 29
По умолчанию

lexaltd, а чем вас не устраивает способ с рекурсивным обходом папок? У того способа что рассматриваете вы есть существенный недостаток - неизвестно когда процедура закончит выполнение, и папка будет полностью скопирована...
Ну а вообще (для примера):
xcopy c:\windows d:\win2\ /E /C /Q /G /H /R /Y
Всё работает, только следует обратить внимание на порядок FromDir, ToDir они до параметров, папка назначения должна закрываться слэшем и параметры через пробелы

Последний раз редактировалось eskander; 07.03.2009 в 14:36.
eskander вне форума Ответить с цитированием
Старый 07.03.2009, 20:21   #18
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Цитата:
Сообщение от eskander Посмотреть сообщение
lexaltd, а чем вас не устраивает способ с рекурсивным обходом папок? У того способа что рассматриваете вы есть существенный недостаток - неизвестно когда процедура закончит выполнение, и папка будет полностью скопирована...
Ну а вообще (для примера):
xcopy c:\windows d:\win2\ /E /C /Q /G /H /R /Y
Всё работает, только следует обратить внимание на порядок FromDir, ToDir они до параметров, папка назначения должна закрываться слэшем и параметры через пробелы
Да ты прав так работает , а так нет
Код:
xcopy C:\Documents and Settings\Alex\Application Data\Opera\Opera d:\win2\ /E /C /Q /G /H /R /Y
Вобще в Documents and Settings и Program Files не заходит

Вроде нашёл - если в название папки есть пробел то он не хочет копировать
Как это можно побороть?

Последний раз редактировалось lexaltd; 07.03.2009 в 20:31.
lexaltd вне форума Ответить с цитированием
Старый 07.03.2009, 23:46   #19
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Каталоги/файлы с пробелами нужно заключать в кавычки (типа "имя папки").
Jeni вне форума Ответить с цитированием
Старый 08.03.2009, 13:04   #20
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Код:
xcopy C:\"Documents and Settings"\Alex\"Application Data"\Opera\Opera E:\new\/E /C /Q /G /H /R /Y
Спасибо большое Jeni и eskander - так работает
lexaltd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
расположение папки Data c БД или другими файлами VenMaster Общие вопросы Delphi 2 12.05.2008 23:35
Папки xTANATOSx Общие вопросы Delphi 1 05.11.2007 16:26
Выбор папки UnD)eaD)Snake Общие вопросы Delphi 10 22.08.2007 12:05
Как скопировать папку со всем ее содержимым Arsgun Общие вопросы Delphi 2 09.06.2007 22:07
Отслеживает появление в папке файлов. слежение за определенным файлом в определенной папке. RammFan Win Api 1 09.06.2007 11:09