Jump to content

Datenbereinigung


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Leute

 

Ich habe folgenden Task erhalten und biete um Tipps und Tricks.

 

Ich muss auf einem Fileserver bzw. Netzlaufwerk eine Datenbereinigung ausführenen welche folgende Aufgaben mit sich bringt:

 

- doppelte oder mehrfach vorhande Dateien finden innerhalb eines Filesystems, diese Dateien verschieben auf eine externe HD und Ebenso an diesem Ort wo die Datei gelöscht wurde ein Link setzten der auf die Original Datei im Filessystem zeigt.

 

- Dateien finden die älter sind als z.B. 31.12.1999 (Änderungsdatum) und diese verschieben auf eine externe HD.

 

 

Ich bin nun auf der suche nach einem Tool das mir mehr oder weniger automatisch die oben genannten Tasks erledigt. Ich habe bereits einige Tools angeschaut jedoch haben mich diese nicht zufrieden gestellt.

 

Ich wäre froh um jeden Tipp. Der eine oder andere hatte sicherlich schon dieselben Aufgaben.

 

Gruss Staga

Link zu diesem Kommentar

Schalter preview verwenden und in eine Datei pipen ..... danach den eigentlichen Aufruf ohne preview verwenden, ist zwar ein wenig mühselig, aber delage32 räumt auch Verzeichnisse zuverlässig auf, wo der Windows Explorer vor lauter Dateilisting austickt.

 

Also zB: DelAge32 C:\irgend\wo\*.* 100 /recurse >> c:\wo\irgendwas.txt

 

Es erfolgt dann aber keine Ausgabe in die Shell.

 

Was die Links angeht, bin ich ehrlich gesagt überfragt da kenne ich nichts was Deinen Wunsch erfüllt.

 

Grüsse

 

Gulp

Link zu diesem Kommentar

Ggf. könnte man ja einfach hinterher das Log dazu benutzen, um per Script die Links anzulegen.

 

Hierzu ein kleiner VB-Script-Code-Schnippsel dazu:

Set WshShell = WScript.CreateObject("WScript.Shell")

'...das folgende in ner Schleife durch alle verschobenen Dateien

Set Link=WshShell.CreateShortcut(strPath & "\" & strDatei & ".LNK")
Link.TargetPath = strNewPath & strDatei
Link.Save

 

Anmerkung: strPath, strNewPath und strDatei müssen natürlich dann noch entspr. jeweils passend gesetzt werden ;)

bearbeitet von Cybquest
Anmerkung hinzugefügt
Link zu diesem Kommentar

Hey Leute

Nach langer Suche im Internet habe nun diverse Tools gefunden und auch getestet. Leider habe ich immer noch ein Problem. Alle diese Tools finden doppelte Dateien welche man auch selektieren und löschen oder verschieben kann jedoch ist es bei keinem möglich einen Hardlink zu setzten. Vielleicht kennt jemand von euch ein Tool mit dem es möglich ist das die verschobenen Dateien durch ein Hardlink ersetzt werden.

 

Beispiel: Ich habe drei Dateien gefunden an unterschiedlichen Orten, zwei markiere ich um diese zu verschieben oder löschen. Die zwei Dateien bzw. an deren Originalstandort steht nun ein Link welcher entweder auf die eine Originaldatei zeigt oder auf den Pfad an den ich Dateien verschoben habe

 

Gruss Staga

Link zu diesem Kommentar

Guten Morgen,

 

wenn es wirklich kein Tool gibt, sollte sich das mit wenig Programmieraufwand lösen lassen. Als Beispiel habe ich den angehängten VB-Code zur Erstellung einer beliebiegen Verknüpfung gefunden.

Das verschieben sollte auch kein Problem sein. Das Problem ist dann nur der Algorithmus zur Findung der Doubletten.

Hast du vielleicht ein Tool, dass die doppelten Dateien findet und in einer Liste exportieren kann? Dann könnte man vielleicht auf die schnelle was basteln.

 

Viele Grüße

Andreas

 

'Dieser Quellcode stammt von ActiveVB - Startseite

'und kann frei verwendet werden. Für eventuelle Schäden

'wird nicht gehaftet.

 

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.

'Ansonsten viel Spaß und Erfolg mit diesem Source!

 

'------------- Anfang Projektdatei Project1.vbp -------------

' Es muss ein Verweis auf 'VB 5 - IShellLinkA Interface(ANSI)' gesetzt werden.

' Die Komponente 'Microsoft Common Dialog Control 6.0 (SP3) (COMDLG32.OCX)' wird benötigt.

 

'--------- Anfang Formular "Form1" alias Form1.frm ---------

' Steuerelement: Standarddialog-Steuerelement "CommonDialog1"

' Steuerelement: Schaltfläche "Command3"

' Steuerelement: Schaltfläche "Command2"

' Steuerelement: Textfeld "Text2"

' Steuerelement: Schaltfläche "Command1"

' Steuerelement: Beschriftungsfeld "Label3"

' Steuerelement: Beschriftungsfeld "Label1"

' Steuerelement: Beschriftungsfeld "Label2"

 

 

'Achtung die Funktion CreateLink benötigt 'SHELLLNK.TLB'

'Sollte sich diese nicht im Verzeichnis des Projekts

'befinden, kann sie auf der VB CD gefunden werden.

 

Option Explicit

 

Private Sub Form_Load()

Label1.Caption = App.Path & IIf(Right(App.Path, 1) = "\", "", "\") & _

"Project1.exe"

 

Text2.Text = App.Path & IIf(Right(App.Path, 1) = "\", "", "\") & _

"Test.lnk"

End Sub

 

Private Sub Command1_Click()

If Len(Label1.Caption) > 0 And Len(Text2.Text) > 0 Then

CreateLink Label1.Caption, Text2.Text

End If

End Sub

 

Private Sub Command2_Click()

CommonDialog1.Filter = "Alle (*.*)|*.*"

CommonDialog1.InitDir = App.Path

CommonDialog1.ShowOpen

Label1.Caption = CommonDialog1.FileName

End Sub

 

Private Sub Command3_Click()

Dim AA As String, BB As String

Dim X As Long

 

CommonDialog1.Filter = ("Alle (*.*)|*.*")

CommonDialog1.InitDir = App.Path

CommonDialog1.ShowOpen

 

AA = CommonDialog1.FileName

 

For X = Len(AA) To 1 Step -1

BB = Mid$(AA, X, 1)

If BB = "\" Then Exit For

Next X

 

Text2.Text = Left$(AA, X) & "Test.lnk"

End Sub

 

Private Function CreateLink(Datei$, LinkName$)

Dim cShellLink As ShellLinkA

Dim cPersistFile As IPersistFile

 

Set cShellLink = New ShellLinkA

Set cPersistFile = cShellLink

 

cShellLink.SetPath Datei

cPersistFile.Save StrConv(LinkName, vbUnicode), 0

 

Set cPersistFile = Nothing

Set cShellLink = Nothing

End Function

'---------- Ende Formular "Form1" alias Form1.frm ----------

'-------------- Ende Projektdatei Project1.vbp --------------

Link zu diesem Kommentar

Hallo Bumbum

 

Vielen Dank für Deine Antwort. Die Tools die ich mir angeschaut habe bieten praktisch alle die Möglichkeit ein Textfile oder CSV zu generieren z.B. AllDup, Duplicate Cleaner oder AntiTwin.

 

Anfügen möchte ich noch das ich betreffend VB oder sonstigen Programmiersprachen ein absoluter Nichtskönner bin ;-(

 

Falls du mir aber trotzdem helfen kannst so wäre dies super.

 

Danke und Gruss Staga

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...