Вниз
Скачать: CL | DM;

Перенос файлов без запроса   Найти похожие ветки 

← →
Pavelkq   (2008-03-26 07:23) [0]

Пишу программу для автоматического копирования файлов в ночное время на сервере. Для этого воспользовался процедурой:
procedure PCopy (PFrom : string ; PTo : string; POperation: Byte);
var
 OpStruc: TSHFileOpStruct;
 frombuf, tobuf: array [0..128] of Char;
begin
FillChar( frombuf, Sizeof(frombuf), 0 );
FillChar( tobuf, Sizeof(tobuf), 0 );
StrPCopy( frombuf, PFrom );
StrPCopy( tobuf, PTo );
with OpStruc do begin
 Wnd:= HANDLE_FLAG_INHERIT;
 if POperation=1 then wFunc:= FO_COPY;
 if POperation=0 then wFunc:= FO_DELETE;
 pFrom:= @frombuf;
 pTo:=@tobuf;
 fFlags:= FOF_NOCONFIRMATION;
 fAnyOperationsAborted:= False;
 hNameMappings:= Nil;
 lpszProgressTitle:= Nil;
end;
ShFileOperation( OpStruc );
end;

Далее вызываю простейшим способом:
//Создаем папку текущей даты
PFolder:="d:\copy\"+ DateToStr(Date);
CreateDir (PFolder);
//Копирование всей общей
PCopy ("d:\users\общая\*.*",PFolder,1);

После выполнения программы папка пуста. Происходит это, очевидно, в следствии того, что программа натыкается на файлы недоступные для чтения. Это видно потому, что при копировании обычными средствами вынды появляется сообщение "Не удается скопировать файл". Как можно заставить программу игнорировать недоступные файлы и переходить к следующим?


← →
Ega23 ©   (2008-03-26 07:59) [1]

TFileStream + fmShareDenyNone + f1


← →
Loginov Dmitry ©   (2008-03-26 08:06) [2]

CopyFile() + f1


← →
guav ©   (2008-03-26 11:47) [3]

FOF_NO_UI


← →
guav ©   (2008-03-26 11:51) [4]

> [1] Ega23 ©   (26.03.08 07:59)
> TFileStream + fmShareDenyNone + f1


Не советую, если есть полезные метаданные, они не будут скопированы, или их все прийдётся скопировать вручную, будет много лишнего кода.


← →
Рамиль ©   (2008-03-26 11:55) [5]

xcopy /?
Справится со всем.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
3-1196229406
ROMQA
2007-11-28 08:56
2008.04.20
DELPHI SQL запрос в файл!


2-1206282811
Илья
2008-03-23 17:33
2008.04.20
Подскажите, как можно перехватить все запускающиеся приложения?


2-1206715069
TerminalHead
2008-03-28 17:37
2008.04.20
Нужна помощь! получение сигнала из COM порта для новичка,


2-1206612850
nicky000
2008-03-27 13:14
2008.04.20
ConnectDialog


15-1204646353
GlFox
2008-03-04 18:59
2008.04.20
Distributed File System




   Наверх