staga 10 Geschrieben 12. April 2011 Melden Teilen Geschrieben 12. April 2011 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 Zitieren Link zu diesem Kommentar
Gulp 254 Geschrieben 12. April 2011 Melden Teilen Geschrieben 12. April 2011 Punkt 1: Duplicate Files Searcher (DFS), Download bei heise Punkt 2: Horst Schaeffer's Software Pages delage32 (löscht nicht nur, sondern kann auch auf ein beliebiges Ziel verschieben, rechnet allerdings in Tagen und nicht nach Wunschdatum - sowas sollte aber kein Problem sein) Grüsse Gulp Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 12. April 2011 Melden Teilen Geschrieben 12. April 2011 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. Welche Tools hast Du dir denn schon angesehen? Nicht das Du hier die gleichen Tools mehrmals genannt bekommst. Zitieren Link zu diesem Kommentar
staga 10 Geschrieben 12. April 2011 Autor Melden Teilen Geschrieben 12. April 2011 Die Tools die ich bereits angeschaut habe sind: - AntiTwin - AllDup Eine weitere bedingung ist auch das es möglich wäre die verschobenen Daten zu loggen bzw. automatisch aufzulisten in einem z.B. Excelfile Zitieren Link zu diesem Kommentar
staga 10 Geschrieben 12. April 2011 Autor Melden Teilen Geschrieben 12. April 2011 Danke Gulp. Was mir jedoch noch fehlt ist das man automatisch ein Link setzten kann auf die Datei die bestehen bleibt - geht den so was überhaupt??? Zitieren Link zu diesem Kommentar
staga 10 Geschrieben 12. April 2011 Autor Melden Teilen Geschrieben 12. April 2011 @Gulp das Tool delage32 ist wirklich gut jedoch weis ich nicht wie ich es anstellen soll das ich zuerst eine Übersicht erhalte bzw. kann ich irgendwie die files auslesen lassen in ein textfile oder so??? Ich müsste eben zuerst eine Übersicht haben mit anngaben der Files, standort und grösse. Gruss staga Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 12. April 2011 Melden Teilen Geschrieben 12. April 2011 Wie wärs mit selbst ein Script schreiben (Powershell) oder eine HSM Lösung einführen? Zitieren Link zu diesem Kommentar
Gulp 254 Geschrieben 12. April 2011 Melden Teilen Geschrieben 12. April 2011 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 Zitieren Link zu diesem Kommentar
staga 10 Geschrieben 12. April 2011 Autor Melden Teilen Geschrieben 12. April 2011 danke Gulp - tip top. Gruss Staga Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 12. April 2011 Melden Teilen Geschrieben 12. April 2011 (bearbeitet) 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 12. April 2011 von Cybquest Anmerkung hinzugefügt Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 12. April 2011 Melden Teilen Geschrieben 12. April 2011 @staga, bitte bemüh dich um eine korrekte Rechtschreibung (Satzzeichen, Groß- und Kleinschreibung). Umso mehr Leute werden dir helfen ;) Danke für Dein Verständnis blub Zitieren Link zu diesem Kommentar
staga 10 Geschrieben 12. April 2011 Autor Melden Teilen Geschrieben 12. April 2011 @Moderator Sorry, ich werde mir Mühe geben. Gruß Staga Zitieren Link zu diesem Kommentar
staga 10 Geschrieben 12. April 2011 Autor Melden Teilen Geschrieben 12. April 2011 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 Zitieren Link zu diesem Kommentar
Bumbum 11 Geschrieben 13. April 2011 Melden Teilen Geschrieben 13. April 2011 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 -------------- Zitieren Link zu diesem Kommentar
staga 10 Geschrieben 13. April 2011 Autor Melden Teilen Geschrieben 13. April 2011 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 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.