Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Copydir Ok Restore Pfui? (https://www.delphipraxis.net/77516-copydir-ok-restore-pfui.html)

Go2EITS 20. Sep 2006 16:42


Copydir Ok Restore Pfui?
 
Hallo DP,

Zu copydir gibst es ja wunderbare Codebeispiele. Aber zu einem "Restore" habe ich ein Problem:

Wenn ich
copydir(G:\Hotfixes\Dir,'c:\winnt') ausführe, wird mir das Verzeichnis Hotfixes in C:\winnt (also C:\winnt\hotfixes\Dir) mit angelegt. Das ist nicht so gewollt. Ich möchte, wie in copydir angegeben, das Verzeichnis Dir so haben: C:\winnt\Dir...

Ich habe die DP und Google schon durchgesehen. Nix gefunden. hab Ihr für mich etwas? Bestimmt ist es wieder eine leichte Lösung? nachfolgend die "übliche" CopyDir.

Delphi-Quellcode:
function CopyDir(const fromDir, toDir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_COPY;
    fFlags := FOF_NOCONFIRMATION or FOF_NOERRORUI;
    pFrom := PChar(fromDir + #0);
    pTo   := PChar(toDir)
  end;
  Result := (0 = ShFileOperation(fos));
end;
Genaugenommen will ich die Unterverzeichnisse verschieben:
G:\hotfixes\Dirs
nach
C:\winnt\dirs

Was mache ich falsch? :gruebel:
[EDIT] Alles nochmals umgeschrieben. [\EDIT}

himitsu 20. Sep 2006 18:57

Re: Copydir Ok Restore Pfui?
 
Dann kopiere doch nur den Inhalt und nicht den Ordner selber. :zwinker:
Delphi-Quellcode:
pFrom := PChar(fromDir + '\*.*' + #0);
pTo   := PChar(toDir + #0);

Go2EITS 20. Sep 2006 19:40

Re: Copydir Ok Restore Pfui?
 
So einfach? :pale:
Vielen Dank Himitsu, das Du mir geholfen hast! :hi:
jetzt klappt es auch mit dem Restoren der Hotfixes nach C:\winnt\ (PUH! Endlich!)
Beste Grüße! Go2EITS


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz