florengray
Goto Top

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

Content-Key: 88379

Url: https://administrator.de/contentid/88379

Printed on: April 19, 2024 at 09:04 o'clock

Member: florengray
florengray May 24, 2008 at 20:41:04 (UTC)
Goto Top
Naja, is schon eine grössere Sache, aber is die denn so exotisch?

:edit
Um es einfacher zu machen:
Ich hab keine Funktion gefunden, mit der man den Anfangscluster einer Datei auslesen kann.
Gibt es eine Möglichkiet dies zu tun, oder ist dies nur Spezialisten vorbehalten?
Wenn es nicht gehen sollte, dann meldet euch doch bitte.

florengray
Member: florengray
florengray May 29, 2008 at 12:32:30 (UTC)
Goto Top
Keine Antwort ist auch eine Antwort.
Entweder habe ich mit dieser Fragestellung alle Forumsmitglieder tötlich beleidigt oder ich habe mich mit dieser Fragestellung mehr als blamiert.
Da keiner auch nur einen Buchstaben darüber verliert, kann ich mich, vielleicht soll ich das auch gar nicht mehr, dazu auch nicht äußern.
Ich hatte ja darum gebeten, dass wenn es nicht möglich sein sollte, sowas in Eigenregie zu entwickeln, eben zu schreiben: "Geht nicht!" oder "Vergiss es.". Das hätte mir ja schon gereicht.
Aber nicht mal ein Buchstabe....
Trotzdem möchte ich mich, was es jetzt auch immer sein sollte, dafür entschuldigen.
Vielleicht bekomme ich ja wieder Unterstützung, wenn ich anderswo mal wieder eine Frage stelle.

florengray