Windows 95 Tips
Tip: 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 Batch-Utility ╗S_FORMAT.BAT½ im nebenstehendem Kasten 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 ╗RUNDLL-32. 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,SH-FormatDrive½
Erstellen Sie also die Batchdatei ╗S_FORMAT.BAT½ ge-
mäß 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 Desk-
top. 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 Listing ist auf
Laufwerk A: zugeschnitten. Es kann aber auch sehr leicht für die Arbeit mit dem Diskettenlaufwerk B:
abgeändert werden.
Listing:
Batchdatei S_FORMAT.BAT
@echo off ::Sind Daten vorhanden?
xcopy32 A:\*.* /L >NUL
if errorlevel 1 goto format
::Daten vorher zeigen
start explorer /e, A:
choice Diskette enthält Daten, trotzdem formatieren
if errorlevel 2 exit
::DLL-Routine starten
:format
start /w rundll32.exe shell32.dll,SHFormatDrive
<7font>