EDITLINE
Zurck zum Hilfe-Index
stellt in BATCH-Dateien eine komfortable Benutzer-Eingabezeile zur Verfgung
Zusammen mit dem DOS-Befehl CHOICE k”nnen Sie Batch-Programme schreiben, die
sich vollkommen vom Anwender steuern lassen. EDITLINE darf zusammen mit Ihren
Batchdateien auch an andere Personen beliebig weitergegeben werden.
Syntax
EDITLINE [BATCH-Datei] [Variable] [/g /a /z /h]
[BATCH-Datei]
Name der Batchdatei, in die EDITLINE den SET-Befehl schreiben soll. EDITLINE
kann den SET-Befehl aus technischen Grnden nicht selbst ausfhren.
Stattdessen schreibt er ihn in eine Batchdatei, die Sie danach in Ihrem
Batchprogramm starten mssen, um den SET-Befehl ausfhren zu lassen. Die
Dateiendung BAT muá mit angegeben werden. VORSICHT: EDITLINE berschreibt
eine bereits bestehende Batchdatei ohne Vorwarnung! Lediglich bei einer
schreibgeschtzten Datei bricht EDITLINE mit einer Fehlermeldung ab. Ihr
Batchprogramm sollte also ggf. vor Aufruf von EDITLINE eine Prfung in dieser
Richtung vornehmen.
[Variable]
Name der Umgebungsvariablen, die die Benutzereingabe aufnehmen soll.
/g Benutzereingabe wird in Groábuchstaben umgewandelt
/a Benutzereingabe wird an den Inhalt der Variablen angeh„ngt. Der
bestehende Inhalt der Umgebungsvariablen bleibt also erhalten und wird
lediglich um die Benutzereingabe erweitert.
/z Inhalt der Umgebungsvariablen wird zum Editieren angezeigt. Der Anwender
editiert also den bereits vorhandenen Inhalt der Umgebungsvariablen.
Wird /z weggelassen, zeigt EDITLINE eine leere Zeichenkette.
/h zeigt Bedienhinweise fr den Anwender. Der Zeileneditor von EDITLINE
untersttzt zahlreiche komfortable Funktionen. Wenn Sie den Anwender
darauf aufmerksam machen wollen, starten Sie EDITLINE zuvor mit dem
Parameter /h. In diesem Falle wird NUR der Hilfetext angezeigt - um eine
Eingabezeile zu erzeugen, mssen Sie EDITLINE danach ein weiteres Mal
aufrufen.
Die maximale L„nge einer mit EDITLINE editierbaren Zeile betr„gt 79 Zeichen.
EDITLINE zeigt bei Fehlern eine Bildschirm-Meldung an. Diese Meldung soll
Ihnen die Fehlersuche w„hrend der Testphase erleichtern. EDITLINE setzt
auáerdem einen ERRORLEVEL ab, den Ihre Batch-Datei anschlieáend auswerten
kann, um geeignete Maánahmen zu ergreifen. Wenn Sie die Bildschirm-Meldung
von EDITLINE unterdrcken wollen, leiten Sie sie mit > NUL um.
Folgende Fehlercodes (ErrorLevel) liefert EDITLINE zurck:
0 - Fehlerfreie Ausfhrung
1 - Name der Batch-Datei fehlt in der Kommandozeile
2 - Name der Umgebungsvariablen fehlt in der Kommandozeile
3 - Anwender hat die Eingabe mit Taste Esc abgebrochen
4 - Fehler beim Schreiben der Batch-Datei
Praktischer Einsatz
EDITLINE erg„nzt den CHOICE-Befehl um eine Benutzer-Eingabezeile und
erm”glicht so die komplette Steuerung eines Batch-Programmes durch den
Anwender. Ein Einsatzgebiet sind z.B. Batch-Dateien, die Programme
installieren (INSTALL.BAT) - sprich: Dateien von einer Diskette in ein
Festplatten-Verzeichnis kopieren. In der Regel legt eine INSTALL.BAT den
Zielpfad fest oder fordert zum Eingeben eines alternativen Verzeichnisses
auf der Kommandozeile ein. Mit EDITLINE k”nnen Sie den Anwender direkt
fragen, in welches Verzeichnis er die besagten Dateien kopieren lassen
m”chte.
Beispielfragment:
set Zielpfad=C:\TEST
echo Geben Sie das Verzeichnis an, in das die Dateien kopiert werden sollen:
editline c:\temp.bat Zielpfad /z > NUL
call c:\temp.bat
md %Zielpfad%
copy *.* %Zielpfad%
del c:\temp.bat
Mit SET setzen Sie zun„chst eine Umgebungsvariable namens ZIELPFAD und
belegen ihn mit einem Standard-Verzeichnis. EDITLINE zeigt diesen Pfad an
und der Anwender kann ihn editieren. Anschlieáend wird TEMP.BAT aufgerufen,
um die Variable ZIELPFAD mit der Anwendereingabe zu fllen.
Mit EDITLINE k”nnen Sie sogar einen kleinen Editor basteln. Der Anwender
kann z.B. nach erfolgreicher Installation gebeten werden, die dazugeh”rige
INI-Datei anzulegen:
set iniline=Printer:
echo Geben Sie die Drucker-Schnittstelle an (LPT?):
editline c:\temp.bat iniline /a
call c:\temp.bat
echo %iniline% >> PROGRAM.INI
set iniline=Maus:
echo Geben Sie die Maus-Schnittstelle an (COM?):
editline c:\temp.bat iniline /a
call c:\temp.bat
echo %iniline% >> PROGRAM.INI
Parameter /a sorgt fr das Anh„nger der Benutzereingabe an die Variable
INILINE. Dadurch kann der Anwender z.B. die Zeichenkette "Printer=" nicht
l”schen. Die Datei PROGRAM.INI sieht anschlieáend so aus:
Printer:LPT1
Maus:COM1
Ein weiteres Einsatzgebiet fr Batch-Bastler ist die M”glichkeit,
Kommandozeilen-Programme mit einer eigenen Eingabemaske auszustatten (die
NEW-DOS-Programme besitzen eine solche). Die folgende Datei soll FORM.BAT
heiáen.
@echo off
cls
echo FORMAT - Diskette formatieren
echo ----------------------------------------------------------------------
echo Geben Sie das Laufwerk an, das die zu formatierende Diskette enth„lt:
editline c:\temp.bat laufwerk > nul
call c:\temp.bat
del c:\temp.bat
format %laufwerk%
Zurck zum Anfang