 |
Disketten: Formatieren mit Rⁿckfrage per DLL-Funktion
Im Kontextmenⁿ von Laufwerken (rechter Mausklick auf das entsprechende Icon) finden Sie unter anderem den Eintrag »Formatieren«. Wenn Sie diesen Befehl auf eine Diskette anwenden, geht Windows 95 nach einem Klick auf »Starten« sofort zur Sache und ⁿberprⁿft nicht, ob die betroffene Diskette bereits Daten enthΣlt. Dies kann aber zu ungewolltem Datenverlust fⁿhren, wenn eine nicht beschriftete, aber bereits benutzte Diskette versehentlich in einen Stapel unbenutzter Disketten gerΣt oder wenn gebrauchte Disketten reformatiert werden. Aber wie bringt man Windows dazu, vorher die Diskette zu prⁿfen? Das kleine untenstehende Batch-Utility »S_FORMAT.BAT« ist eine L÷sung. Windows 95 hΣlt eine Schnittstelle bereit, um aus Batchdateien heraus auf 32-Bit-Funktionen des Windows-API zuzugreifen, und zwar mit Hilfe der Datei »RUNDLL32.EXE«. Damit ist es m÷glich, bestimmte DLL-Funktionen aufzurufen vorausgesetzt, man kennt die Syntax des Funktionsaufrufs. Fⁿr die Formatierung ist es die Funktion »SHFormatDrive« aus der Datei »SHELL32.DLL«. Die Funktion wird ohne Parameter aufgerufen, wodurch sich der Aufruf besonders einfach gestaltet: »rundll32.exe shell32.dll,SHFormatDrive« Erstellen Sie also die Batchdatei »S_FORMAT.BAT« gemΣ▀ obenstehendem Listing und kopieren diese in ihr Batchverzeichnis. Dann stellen Sie zu der neuen Datei »S_FORMAT.BAT« eine Verknⁿpfung auf dem Desktop her: Wechseln Sie im Explorer in Ihr Batchverzeichnis und ziehen die Datei mit der rechten Maustaste auf den Desktop. Nach dem Loslassen der rechten Maustaste wΣhlen Sie »Verknⁿpfung(en) hier erstellen«. Im Kontextmenⁿ der neuen Verknⁿpfung markieren Sie zum Abschlu▀ noch unter »Eigenschaften | Programm« das KΣstchen »Beim Beenden schlie▀en«. Ein Doppelklick auf das Icon der Verknⁿpfung startet »S_FORMAT«. Die Batchdatei stellt zuerst mit Hilfe des XCOPY-Befehls (mit dem Schalter »/L«) fest, ob die Diskette in Laufwerk A: Daten enthΣlt. Ist das der Fall, werden diese mit dem Explorer angezeigt. Danach mⁿssen Sie entscheiden, ob Sie die Diskette trotzdem formatieren wollen oder nicht. Befinden sich keine Dateien auf der Diskette, wird die Formatierroutine von »SHELL32.DLL« sofort gestartet. Das folgende Listing ist auf Laufwerk A: zugeschnitten. Es kann aber auch sehr leicht fⁿr die Arbeit mit dem Diskettenlaufwerk B: abgeΣndert werden. Gerhard Frey
|
 |