10. december 2008 - 13:35 Der er 2 kommentarer og
1 løsning

Finde og kopiere skjulte filer og mapper

Finde og kopiere skjulte filer og mapper

Jeg har skrevet et lille program som kan kopiere filer fra et sted til et andet (drev).

procedure TForm1.FindFiler(S: String);
var
  Sr : TSearchRec;
  FileAttrs : Integer;
begin
  FileAttrs := 0;  // 0 for filer, 16 for mapper
  if FindFirst(S + '*.*', FileAttrs, Sr) = 0 then
  begin  // Opdater med nye filer.
    repeat
      if (Sr.Attr and FileAttrs) = FileAttrs then
        if Sr.Name[1] <> '.' then  // Navnet på nuværende eller øvre mappe.
        begin
          List.Items.Add(Copy(S+Sr.Name, Length(Fra)+1, Length(S+Sr.Name)));
        end;
    until FindNext(Sr) <> 0;
    FindClose(Sr);
  end;
  FileAttrs := 16;  // 0 for filer, 16 for mapper
  if FindFirst(S + '*.*', FileAttrs, Sr) = 0 then
  begin  // Opdater med nye mapper.
    repeat
      if (Sr.Attr and FileAttrs) = FileAttrs then
        if Sr.Name[1] <> '.' then  // Navnet på nuværende eller øvre mappe.
        begin
          FindFiler(S + Sr.Name + '\');
        end;
    until FindNext(Sr) <> 0;
    FindClose(Sr);
  end;
end;

Men den vil ikke kopiere skjulte filer og mapper, Outlook.pst ligger jo i en skjult mappe.

  FileAttrs := 16;  // 0 for filer, 16 for mapper
  if FindFirst(S + '*.*', FileAttrs, Sr) = 0 then

Finder kun almindelige mapper.
FileAttrs skal jo så være 18 for skjulte mapper, 20 for system mapper og 22 for skjulte system mapper.

Skal man så køre routinen 4 gange, eller er der en metode hvor man kun behøver at køre routinen én gang?

Tilsvarende med filer.
Avatar billede martinlind Nybegynder
10. december 2008 - 14:51 #1
prøv at sæt din FileAttrs til

faReadOnly + faHidden + faDirectory
eller
faAnyFile
10. december 2008 - 22:04 #2
Det virkede med faAnyFile
Læg et svar og modtag min tak
Avatar billede martinlind Nybegynder
11. december 2008 - 09:36 #3
Selv Tak :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester