Computer & Technik

Betriebssysteme

DOS

MoveIt - Dateien verschieben

Die Reorganisation einer gut gefüllten Festplatte unter DOS ist regel­mäßig eine schweißtreibende Angelegenheit. Denn DOS stellt standard­mäßig keine Funktion zur Verfügung, um Dateien von einem Verzeich­nis in ein anderes zu verschieben. Vielmehr ist jedesmal ein Kopieren und ein anschließendes Löschen nötig, bevor die Datei endlich im neuen Verzeichnis steht.

Dabei gibt es unter DOS eine durchaus mächtige Funktion zum Um­benennen von Dateien, die so ziemlich alles Umbennenen kann.

Da für DOS alle Datenamen nichts anderes als ein Eintrag im FAT sind, kommt das Umbennenen einem Bewegen gleich. DOS bedient sich in­tern der Funktion $56 zum Umbennen von Dateien. Ein Blick auf die Registerbelegung zeigt, daß diese Funktion bedeutend mehr kann, als das altbekannte REN.

Eingaben:

AH := $56;
DX := Ofs (alter Name);
DS := Seg (alter Name);
DI := Ofs (neuer Name);
ES := Seg (neuer Name);

Rückgabe:
AX = ErrorCode

wenn  ODD(Flags);

Dieser internen DOS-Funktion ist es offenbar vollkommen egal, was sie übergeben bekommt. Sie benennt alles um, indem die Einträge im FAT geändert werden. Dies ist aber letztlich gleichbedeutend mit einem lo­gischen Verschieben der Datei, die plötzlich in einem anderen Verzeich­nis angezeigt wird. - Und genau das war schließlich ja das Ziel unserer Bemühungen!

Damit alles wie gewünscht und mit akzeptablem Tempo abläuft, basteln wir uns eine eigene Version von ERASE. Denn das Umbenennen kann nur dann funktionieren, wenn die Zieldatei noch nicht vorhanden ist. Ist das trotzdem der Fall, muß die Zieldatei gelöscht werden, damit der zu­gehörige Eintrag in der FAT frei wird. Erst dann darf umbenannt wer­den.

Natürlich darf das Programm MOVEIT nicht einfach Dateien löschen, wie es ihm beliebt. Eine Bestätigung sollte schon erforderlich sein. Des­halb fragt MOVEIT jedesmal arbig nach, ob auch wirklich gelöscht wer­den soll. Bei Eingabe von 'N' für NEIN wird die betreffende Datei über­sprungen.

Eine kleine Klippe gilt es aber nach wie vor zu umschiffen. Das Um­benennen erwartet fertige Dateinamen. Doch woher nehmen...? Was zu tun ist, ist das Erzeugen von kompletten Pfadnamen, was mittels FExpand recht leicht zu bewerkstelligen ist. Übrig bleibt die Übernahme von etwa vorgegebenen Namenskürzeln. Dies erfolgt in der Funktion AdjustFileNames, die den alten und neuen Namen übergeben bekommt und daraus einen neuen bastelt.





Sachgebiet


© 2009-2012 by Alojado Publishing. Alle Rechte vorbehalten. Ausgewiesene Marken gehören ihren jeweiligen Eigentümern.
Mit der Benutzung dieser Seite erkennen Sie die Nutzungsbedingungen und die Datenschutzerklärung an. Der Betreiber übernimmt keine Haftung für den Inhalt verlinkter externer Internetseiten.
Seite erzeugt 2012-05-20 02:41:33 von textarchiv.alojado.de