hilfe:tipps:sonstiges:tipps:sonstiges:larsaschenbach:batchkleiner
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
hilfe:tipps:sonstiges:tipps:sonstiges:larsaschenbach:batchkleiner [06/09/2006 22:09] – Formatierung. uxt | hilfe:tipps:sonstiges:tipps:sonstiges:larsaschenbach:batchkleiner [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | KnowHow: Batchprogrammierung | ||
+ | |||
+ | ====== Befehle in Variablen ====== | ||
+ | |||
+ | Beim PoFo muß um jedes Byte Speicher gefeilscht werden, da das Originalteil max. 80KB intern für Userdaten bereitstellt. Externe Datenträger bis zu 4MB sind zwar erhältich, aber unverhältnismäßig teuer. Abhilfe schaffen hier die Packer und Komprimierungsprogramme, | ||
+ | Nach dem Motto " | ||
+ | |||
+ | Hier also die Liste der Befehle und der Ersatzvariablen, | ||
+ | |||
+ | ^^BEFEHL: | ||
+ | ^BREAK ON|BN| | ||
+ | ^BREAK OFF|BF| | ||
+ | ^CHKDSK|CD| | ||
+ | ^COPY|C| | ||
+ | ^DATE|W| | ||
+ | ^)DO|D| | ||
+ | ^ECHO|E| | ||
+ | ^FOR %A IN (|FA| | ||
+ | ^FORMAT|F| | ||
+ | ^GOTO|G| | ||
+ | ^IF ERRORLEVEL|IR| | ||
+ | ^IF EXIST|IE| | ||
+ | ^IF NOT EXIST|INE| | ||
+ | ^IF NOT %|INP| | ||
+ | ^IF %|IP| | ||
+ | ^LABEL|L| | ||
+ | ^PATH|A| | ||
+ | ^PAUSE|P| | ||
+ | ^PROMPT|R| | ||
+ | ^SET|S| | ||
+ | ^SHIFT|H| | ||
+ | ^TIME|Z| | ||
+ | ^TYPE|T| | ||
+ | |||
+ | Folgende Befehle bringen keine Zinsen ein, wenn man diese in Variablen unterbringt: | ||
+ | |||
+ | CLS, CD, DEL, DIR, MD, RD, REM, REN, VER und VOL.\\ | ||
+ | |||
+ | Eine Batchdatei könnte dann z.B. so aussehen: | ||
+ | <code dos> | ||
+ | @%E%OFF | ||
+ | %IP%1.==. %G%ERR | ||
+ | %FA%*.*%D%%S%TEST=%%A | ||
+ | %IP%1==%TEST% %E%%1 ist die letzte Datei in diesem Verzeichnis | ||
+ | %INP%1==%TEST% %E%%1 ist nicht die letzte Datei in diesem Verzeichnis | ||
+ | %G%off | ||
+ | :err | ||
+ | %E%Erster Parameter fehlte! | ||
+ | :off | ||
+ | </ | ||
+ | |||
+ | Weil das ganze ziemlich abstrakt ist, hier noch einmal in " | ||
+ | |||
+ | <code dos> | ||
+ | @echo off | ||
+ | if %1.==. goto err | ||
+ | for %%A in (*.*) do set TEST=%%A | ||
+ | if %1==%TEST% echo %1 ist die letzte Datei in diesem Verzeichnis | ||
+ | if not %1==%TEST% echo %1 ist nicht die letzte Datei in diesem Verzeichnis | ||
+ | goto off | ||
+ | :err | ||
+ | echo Erster Parameter fehlte! | ||
+ | :off | ||
+ | </ | ||
+ | |||
+ | Wer sich diese Schreibweise angewöhnen möchte, ich bleibe aus publizistischen Gründen bei der Klarschrift, | ||
+ | bisherigen Batchdateien ensprechend geändert werden. Auch wenn sich nur wenige die Arbeit machen sollten, werde ich in Zukunft diese Variablen vermeiden, damit es keine Konflikte gibt !\\ | ||
+ | |||
+ | Übrigens: Die Definition der Variablen, mit Befehlen, sollte in der " | ||
+ | TYPE \BATCH\BEFEHLE.BAT>> | ||
+ | an die " | ||
+ | |||
+ | <code dos> | ||
+ | 01: @echo off | ||
+ | 02: set bn=BREAK ON | ||
+ | 03: set bf=BREAK OFF | ||
+ | 04: set cd=CHKDSK< | ||
+ | 05: set c=COPY< | ||
+ | 06: set w=DATE< | ||
+ | 07: set d=)DO< | ||
+ | 08: set e=ECHO< | ||
+ | 09: set fa=FOR %%A IN ( | ||
+ | 10: set f=FORMAT< | ||
+ | 11: set g=GOTO< | ||
+ | 12: set ir=IF ERRORLEVEL< | ||
+ | 13: set ie=IF EXIST< | ||
+ | 14: set ine=IF NOT EXIST< | ||
+ | 15: set inp=IF NOT % | ||
+ | 16: set ip=IF % | ||
+ | 17: set l=LABEL< | ||
+ | 18: set a=PATH< | ||
+ | 19: set p=PAUSE | ||
+ | 20: set r=PROMPT | ||
+ | 21: set s=SET< | ||
+ | 22: set h=SHIFT | ||
+ | 23: set z=TIME< | ||
+ | 24: set t=TYPE< | ||
+ | 25: echo Alle internen Befehle in Variablen echo gepackt. | ||
+ | 26: echo Info durch SET Befehl ! | ||
+ | </ | ||
+ | Zeilennummern nebst Doppelpunkt sind nicht abzutippen und < | ||
+ | |||
+ | Lars Aschenbach\\ |