Save a complete directory (Views: 27)
Problem/Question/Abstract: Is there an API function which gives all the subdirectories and all the files of one particular directory (in order to save a whole directory for example )? Answer: You can copy a whole directory with one instruction using the ShFileOperation API function: procedure TForm1.Button2Click(Sender: TObject); var OpStruc: TSHFileOpStruct; frombuf, tobuf: array[0..128] of Char; begin FillChar(frombuf, Sizeof(frombuf), 0); FillChar(tobuf, Sizeof(tobuf), 0); StrPCopy(frombuf, 'd:\brief\*.*'); StrPCopy(tobuf, 'd:\temp\brief'); with OpStruc do begin Wnd := Handle; wFunc := FO_COPY; pFrom := @frombuf; pTo := @tobuf; fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION; fAnyOperationsAborted := False; hNameMappings := nil; lpszProgressTitle := nil; end; ShFileOperation(OpStruc); end; If you need a list of all files and subdirs you have to do a recursive scan using FindFirst/ FindNext. |