Форум: "Начинающим";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
ВнизПеренос файлов без запроса Найти похожие ветки
← →
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 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c