Jokerzeichen

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Jokerzeichen (engl. wildcards) finden bei der Auswahl bzw. Angabe von Dateinamen bei CBM DOS-Operationen Verwendung. Bei BASIC-Dateibefehlen oder Floppy-Befehlen, die auf bestehende Dateien zugreifen, können je nach Art des Befehls die erste zutreffende Datei oder mehrere Dateien durch ein Dateinamensmuster (engl. filename pattern) ausgewählt werden. Ein solches Muster kann sogenannte (klassische) Joker- oder Platzhalterzeichen und einen CBM-DOS-spezifischen Dateitypselektor enthalten:

  1. Joker bzw. Platzhalter:
    • ? steht für ein beliebiges Zeichen an der jeweiligen Position.
    • * steht für beliebig viele beliebige Zeichen. Bei der 1571 und älteren Laufwerken werden weitere angegebene Zeichen ignoriert, die Angabe "SU*R" findet also nicht nur die Datei "SUPER", sondern auch die Datei "SUPPE". Ab der 1581 werden auch die Folgezeichen überprüft, die Datei "SUPPE" wird dort also nicht gefunden.
      Mehr als ein ' * ' ist nicht sinnvoll.
  2. Dateitypselektor:
    =<Typkennung> als abschließender Selektor für die Auswahl eines spezifischen Dateityps, wird eingeleitet mit dem "="-Symbol gefolgt von der Typkennung bestehend aus einem Zeichen (folgende werden ignoriert):
    • P ... Programmdateien des Typs PRG
    • S ... sequentielle Dateien des Typs SEQ
    • U ... User-Dateien des Typ USR
    • R ... relative Dateien des Typs REL
    • andere Buchstaben bewirken keine Einschränkung (also selektieren alle Typen).

Einsatz[Bearbeiten | Quelltext bearbeiten]

Floppy-Befehle[Bearbeiten | Quelltext bearbeiten]

Mittels spezieller BASIC-Befehle können gewisse Floppy-Befehle mit Joker verwendet werden:

BASIC-Befehle[Bearbeiten | Quelltext bearbeiten]

BASIC 2.0:


BASIC 3.5, BASIC 4, BASIC 7.0:


Andere Erweiterungen:

Beispiele[Bearbeiten | Quelltext bearbeiten]

Auf Grundlage des folgenden Beispiel-Verzeichnisses:

0 ."JONNY A 047     " 47 2A
17   "6RAT MON"         PRG
17   "8RAT MON"         PRG
17   "CRAT MON"         PRG
3    "DISK MON"         PRG
32   "HELP PLUS"        PRG
3    "CHECKSUMMER"      PRG
17   "6MON"             PRG
17   "SMON"             PRG
17   "1RAT MON"         PRG
17   "CMON"             PRG
7    "MSE V1.0"         PRG
17   "6SMON"            PRG
17   "PA"               PRG
25   "HYPRA-ASS"        PRG
2    "HA.AENDERUNG"     PRG
25   "HA"               PRG
3    "GARBAGE-COLL"     PRG
33   "ASCCOMP"          PRG
13   "MAKROS"           PRG
1    "S-MAKROTEST"      PRG
13   "MAKRO I"          PRG
10   "MAKRO II"         PRG
11   "MAKRO III"        PRG
1    "B-COMPARE"        PRG
17   "8SMON"            PRG
17   "CSMON"            PRG
3    "S-HASH"           PRG
2    "B-HASH"           PRG
9    "VIEW"             PRG
3    "S-HASH 1"         PRG
2    "B-HASH 1"         PRG
1    "RASTER"           PRG
18   "TC"               PRG
5    "DATA"             SEQ
0    "EMPTY"            USR
3    "ZETA"             SEQ
1    "ALPHA"            SEQ
244 BLOCKS FREE.

Dateiauswahlmuster:

  • "*" ... alle Dateien
    Siehe oben.
  • "??" ... alle Dateien, die 2 Zeichen lang sind:
17   "PA"               PRG
25   "HA"               PRG
18   "TC"               PRG
  • "?-*" ... alle Dateien, die einen Einzeichen-Bindestrichpräfix haben:
1    "S-MAKROTEST"      PRG
1    "B-COMPARE"        PRG
3    "S-HASH"           PRG
2    "B-HASH"           PRG
3    "S-HASH 1"         PRG
2    "B-HASH 1"         PRG
  • "???? MON" ... alle Dateien, mit 8 Zeichen, die auf Leerzeichen+"MON" enden:
17   "6RAT MON"         PRG
17   "8RAT MON"         PRG
17   "CRAT MON"         PRG
3    "DISK MON"         PRG
17   "1RAT MON"         PRG
  • *=S ... nur sequentielle Dateien:
5    "DATA"             SEQ
3    "ZETA"             SEQ
1    "ALPHA"            SEQ
  • ???A=S ... alle sequentiellen Dateien, die als 4. Zeichen ein A aufweisen:
5    "DATA"             SEQ
3    "ZETA"             SEQ
  • ?E??,A*=S ... alle sequentiellen Dateien, deren Name 4-stellig ist und an 2. Stelle ein E aufweist oder solche, die mit A beginnen:
3    "ZETA"             SEQ
1    "ALPHA"            SEQ

Weblinks[Bearbeiten | Quelltext bearbeiten]

WP-W11.png Wikipedia: Wildcard (Informatik)