eigenen Defragmentierungsalgorithmus schreiben VB Express
Hallo,
das neue Design gefällt mir!
Aber zu dem Problem:
Ich habe mich in der letzten Zeit noch ein wenig mit Defragmentierung beschäftigt.
Dabei habe ich versch. Programme kennen gelernt mit versch. Arten, die Plate zu defragmentieren und die Dateistruktur zu ändern.
Allerdings gibt es immer wieder etwas, was mir nicht gefällt, entweder werden alle Dateien verschoben, oder dann werden Dateien ausgeschlossen, aber das wiederum nicht gründlich genug.
Also will ich jetzt selbt einen Algorithmus schreiben, am besten in VB Express, der genau das tut, was ich will.
Und ich habe Spass daran sowas zu programmieren.
Ich weiss nicht wie ihr zu der Idee steht? (Viele sagen das sowas nur unnötig die Platte belastet und letztendlich nix bringt.)
Mein Plan, wie ich sowas angehen will:
Erstmal die Partition scannen. -> Weiss wo welche Daten sind, grösse, ...
Da ist mein 1. Problem: Ich weiss nicht, wie man sowas ausliest, denn man muss ja die Datei auslesen. Das heisst man muss den Anfang und den Endpunkt der Datei wissen.
(Gesperrte Dateien werden natürlich ausgeschlossen)
Dann wollte ich Optionen angeben, wie: alle Dateien mit *.tmp oder *.bak... ans Ende der Partition verschieben.
Am besten wäre auch, wenn man angeben könnte, das man die Dateien, die z.B. Excel benötigt,
alle in einen Bereich verschiebt, wo die Daten schnell erreichbar sind.
(Aber das muss erstmal nicht sein)
Dann, wenn ich das Problem mit dem Anfang/Endpunkt gelöst habe, müsste man dann den Platz der Partition neu aufteilen/berechnen
Darüber kann ich mir Gedanken machen.
Mein zweites Problem:
Wie verschiebt man die Daten wieder?
Ich frage hier nach, weil ich bisher keine Funktion gefunden habe, mit der man Dateien nicht einfach nur verschiebt, sondern die Cluster berücksichtigt. Denn das muss ich ja.
Man müsste also eine Funktion haben, mit der man sagen kann:
Datei ist 4 KB gross -> Clustergrösse ist 4 KB -> verschiebe Datei von Cluster 10967 in Cluster 21486.
Könnt ihr mir da helfen? Habe schon mal mit API, ALIAS gearbeitet. Ist mir also noch nicht mehr so neu. So standfest bin ich aber noch nicht.
Ich bin durchaus bereit, was dazuzulernen, wenn es aber alle Rahmen sprengen sollte, dann sagt das hier, und ich lass dann davon die Finger.
Ich würde das sowieso auch an einem anderen PC ausprobieren und auf einer reinen Datenpartition, die so ca 50 MB gross ist. Nur zu Testzwecken.
Freue mich auf Anregungen!
florengray
das neue Design gefällt mir!
Aber zu dem Problem:
Ich habe mich in der letzten Zeit noch ein wenig mit Defragmentierung beschäftigt.
Dabei habe ich versch. Programme kennen gelernt mit versch. Arten, die Plate zu defragmentieren und die Dateistruktur zu ändern.
Allerdings gibt es immer wieder etwas, was mir nicht gefällt, entweder werden alle Dateien verschoben, oder dann werden Dateien ausgeschlossen, aber das wiederum nicht gründlich genug.
Also will ich jetzt selbt einen Algorithmus schreiben, am besten in VB Express, der genau das tut, was ich will.
Und ich habe Spass daran sowas zu programmieren.
Ich weiss nicht wie ihr zu der Idee steht? (Viele sagen das sowas nur unnötig die Platte belastet und letztendlich nix bringt.)
Mein Plan, wie ich sowas angehen will:
Erstmal die Partition scannen. -> Weiss wo welche Daten sind, grösse, ...
Da ist mein 1. Problem: Ich weiss nicht, wie man sowas ausliest, denn man muss ja die Datei auslesen. Das heisst man muss den Anfang und den Endpunkt der Datei wissen.
(Gesperrte Dateien werden natürlich ausgeschlossen)
Dann wollte ich Optionen angeben, wie: alle Dateien mit *.tmp oder *.bak... ans Ende der Partition verschieben.
Am besten wäre auch, wenn man angeben könnte, das man die Dateien, die z.B. Excel benötigt,
alle in einen Bereich verschiebt, wo die Daten schnell erreichbar sind.
(Aber das muss erstmal nicht sein)
Dann, wenn ich das Problem mit dem Anfang/Endpunkt gelöst habe, müsste man dann den Platz der Partition neu aufteilen/berechnen
Darüber kann ich mir Gedanken machen.
Mein zweites Problem:
Wie verschiebt man die Daten wieder?
Ich frage hier nach, weil ich bisher keine Funktion gefunden habe, mit der man Dateien nicht einfach nur verschiebt, sondern die Cluster berücksichtigt. Denn das muss ich ja.
Man müsste also eine Funktion haben, mit der man sagen kann:
Datei ist 4 KB gross -> Clustergrösse ist 4 KB -> verschiebe Datei von Cluster 10967 in Cluster 21486.
Könnt ihr mir da helfen? Habe schon mal mit API, ALIAS gearbeitet. Ist mir also noch nicht mehr so neu. So standfest bin ich aber noch nicht.
Ich bin durchaus bereit, was dazuzulernen, wenn es aber alle Rahmen sprengen sollte, dann sagt das hier, und ich lass dann davon die Finger.
Ich würde das sowieso auch an einem anderen PC ausprobieren und auf einer reinen Datenpartition, die so ca 50 MB gross ist. Nur zu Testzwecken.
Freue mich auf Anregungen!
florengray
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 88379
Url: https://administrator.de/contentid/88379
Ausgedruckt am: 25.11.2024 um 08:11 Uhr
2 Kommentare
Neuester Kommentar