AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[.] und [..] NICHT auflisten.

Ein Thema von Kieni · begonnen am 6. Dez 2010 · letzter Beitrag vom 7. Dez 2010
 
Kieni

Registriert seit: 16. Jul 2010
17 Beiträge
 
Delphi 2 Desktop
 
#5

AW: [.] und [..] NICHT auflisten.

  Alt 6. Dez 2010, 15:40
grrrrrrrrrrrrrrrrrrrrrrrrr....

ich verstehe es einfach nicht, und so langsam verliere ich die Geduld ..

der folgende code macht im groben und ganzen was er soll: kopiere das R:\ laufwerk nach C:\FSS-Backup.

Code:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellAPI;

type
  TBack_it_up = class(TForm)
    cmd_start: TButton;
    cmd_close: TButton;
    lbl_start: TLabel;
    lbl_stop: TLabel;
    lbl_start_2: TLabel;
    lbl_stop_2: TLabel;
    lbl_status: TLabel;
    procedure cmd_startClick(Sender: TObject);
    procedure cmd_closeClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

  Function DeleteDir(DirName : string): Boolean;
  function Sh_FileCopyMove(aWND: HWND; const Source,Dest: string; DoMove: boolean;
          var IsAborted: boolean; Flags: FILEOP_FLAGS=0): Boolean;


var
  Back_it_up: TBack_it_up;

const
  backup_this = 'R:\';
  backup_new = 'C:\Backup-FSS';
  backup_old = 'C:\Backup-FSS(Old)';


implementation

{$R *.dfm}

procedure TBack_it_up.cmd_startClick(Sender: TObject);

var
  IsAborted: boolean;
  f : TSearchRec;
  s : Integer;

begin
  cmd_start.Enabled:=false;

  lbl_start_2.Caption:=DateTimeToStr(Now);
  Application.ProcessMessages;


if DirectoryExists(backup_old) then DeleteDir(backup_old);
if DirectoryExists(backup_new) then MoveFile(backup_new, backup_old);

begin
  s := FindFirst(backup_this + '*.*', faDirectory, f);
  try
    while s = 0 do
    begin
       if f.Attr and faDirectory = faDirectory then
        if (f.name <> '.') and (f.name <> '..') then
        begin
          lbl_status.Caption:='Current directory: ' + f.Name;
          Application.ProcessMessages;
          Sh_FileCopyMove(Back_it_up.Handle, backup_this+f.Name, backup_new, false, IsAborted)
        end;
        s := FindNext(f);
    end;

  finally
    FindClose(f);
  end;
end;

lbl_stop_2.caption:=DateTimeToStr(Now);
lbl_status.Caption:='Backup completed';
end;
Das einzige Manko: Der erste Ordner wird nicht angelegt, sondern alle Unterordner einfach im root Fss-Backup abgelegt ... Ich habe nicheinmal ne idee.... Einer von euch eventuell?

Beispiel:

Laufwerk R:\
Ordner1\01_1
Ordner1\01_2
Ordner1\01_3
Ordner2\02_1
Ordner2\02_2
Ordner2\02_3

Programmdurchlauf

C:\Backup-FSS\01_1
C:\Backup-FSS\01_2
C:\Backup-FSS\01_3
C:\Backup-FSS\Ordner2\02_1
C:\Backup-FSS\Ordner2\02_2
C:\Backup-FSS\Ordner2\02_3

Ich hoffe ihr versteht was ich meine....Ordner1 wird einfach nicht angelegt!

Gruß Kieni

Geändert von Kieni ( 6. Dez 2010 um 15:57 Uhr) Grund: Beispiel hinzugefügt
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz