Format1: Schreiben lokal | |
WRITE ['file [:ads]' | zip( [path/] elem) | str-var] [,] [rngcol] [ OVERWRITE | UPDATE ] [D | X] [KEY] [code] |
WRITE ALL |
WRITE STDOUT | STDERR |
Daten aus dem aktuellen Arbeitsbereich in die Datei file schreiben. Bei fehlendem Dateinamen wird der zuletzt benutzte Dateiname des aktuellen Arbeitsbereichs verwendet, sofern ein Dateiname existiert. Falls die Datei im UNIX-Format (Satz-Trennzeichen X'0A') eingelesen wurde, wird bei fehlendem Dateinamen der Arbeitsbereich auch wieder im UNIX-Format zurückgeschrieben. | |
file | Dateiname. Der Name muss in Hochkommas eingeschlossen werden. Enthält der Dateinamen keinen Pfadnamen, wird als Pfad das Arbeitsverzeichnis benutzt (siehe auch Kommando CHDIR ).
|
ads | Die Daten des Arbeitsbereichs werden als "Alternate Data Streams (ADS)" geschrieben. Diese Erweiterung wird nur von Windows NT/2000 mit NTFS-Dateisystem unterstützt. Die ADS sind für den Explorer "unsichtbar". Eine Liste der ADS können Sie mit dem Kommando FSTAT erzeugen.
|
Beispiel: datei1:stream1 .
| |
zip( [path/] elem) | Element eines ZIP-Archivs. Der Name muss in Hochkommas eingeschlossen werden. Enthält der Dateinamen des ZIP-Archivs keinen Pfadnamen, wird als Pfad das Arbeitsverzeichnis benutzt (siehe auch Kommando CHDIR ). Vor dem Elementnamen kann wahlweise ein Verzeichnisname innerhalb des ZIP-Archivs angegeben werden. Ein bestehendes Element kann auch überschrieben werden.
|
Das Element wird in eine temporäre Datei in das TEMP-Verzeichnis geschrieben, in das ZIP-Archiv aufgenommen und sofort wieder gelöscht. | |
str-var | String-Variable, die den Dateinamen enthält. |
ALL | Alle Arbeitsbereiche, bei denen Änderungen vorgenommen wurden, schreiben. Es werden nur die geänderten Arbeitsbereiche geschrieben. Mit dem Button können ebenfalls alle Arbeitsbereiche gespeichert werden. |
STDOUT | STDERR | Alle Daten des Arbeitsbereichs werden nach STDOUT bzw. STDERR geschrieben. Die Systemdatei wird immer ergänzt, d.h. es erfolgt immer ein Erweitern der Systemdatei wie bei der Option UPDATE. Beim Laden des EDTW muss die entsprechende Systemdatei in eine Datei umgelenkt werden. |
Beispiele für die Umleitung:edtw.exe > dat.stdout 2> dat.stderr | more
| |
Auswahl von Zeilen und Spalten | |
rngcol | Zeilen - und/oder Spaltenbereich der zu schreibenden Zeilen. Wenn statt des Dateinamens eine String-Variable angegeben wurde, ist die String-Variable von der Bereichsangabe rngcol durch ein Komma zu trennen. |
Überschreiben und Erweitern von Dateien | |
OVERWRITE | Diese Option bewirkt, dass eine bereits bestehende Datei ohne Rückfrage überschrieben wird. |
UPDATE | Diese Option bewirkt, dass der Inhalt des Arbeitsbereichs an eine bereits bestehende Datei angehängt wird. |
Satzende-Kennzeichen und Isam-Key | |
D | Eine Datei, die im UNIX-Format eingelesen wurde (Satz-Trennzeichen X'0A'), wird im MS-DOS-Format (Satz-Trennzeichen X'0D0A') zurückgeschrieben. |
X | Eine Datei, die im MS-DOS-Format eingelesen wurde (Satz-Trennzeichen X'0D0A'), wird im UNIX-Format (Satz-Trennzeichen X'0A') zurückgeschrieben. |
KEY | Beim Schreiben wird jeder Zeile ein 8 Zeichen langer Schlüssel vorangestellt, der sich aus der jeweiligen Zeilennummer ergibt. Damit erreicht man, dass diese Datei später wieder mit genau denselben Zeilennummern eingelesen werden kann (siehe @READ mit Operand KEY). |
Codierung (UNICODE-Dateien) | |
code | CHAR | UTF | UCB | UCL [ HEA | NOHEA ] |
UNICODE-Arbeitsbereiche werden automatisch mit der Codierung geschrieben, die in dem eingelesenen Headers bzw. bei der Option code des Kommandos READ angegeben wurde. Ein-Byte-Arbeitsbereiche (ANSI, EBCDIC usw.) werden mit der Option CHAR geschrieben. Die Angabe der Codierung ist dann nicht notwendig. Wird ein neu erstellter UNICODE-Arbeitsbereich geschrieben, wird über eine Dialogbox die gewünschte Codierung angefordert. | |
Die Angabe eines Codes bewirkt keine Code-Konvertierung, z.B. von EBCDIC zu UNICODE. Die Zeichen werden unverändert geschrieben, es geht nur darum, ob aus einem Zeichen 1 Byte (CHAR), variabel viele Bytes (UTF) oder 2 Bytes (UCB oder UCL) erstellt werden. Die Codes ANSI und UNICODE sind bis auf das EURO-Zeichen gleich. Soweit kein EURO-Zeichen vorkommt, kann ein ANSI-Arbeitsbereich ohne Konvertierung als UNICODE-Datei geschrieben werden. | |
CHAR | Datei im 1-Byte-Format (z.B. ANSI, ASCII, EBCDIC). Diese Format wird automatisch benutzt, falls es sich nicht um einen UNICODE-Arbeitsbereich handelt. Ein UNICODE-Arbeitsbereich kann nur mit CHAR geschrieben werden, falls keine Zeichen > 255 (Achtung: € = U'20AC' ) enthalten sind.
|
UTF | Datei im UTF-8-Format. UTF-8 (Abk. für 8-Bit Unicode Transformation Format) ist die am weitesten verbreitete Codierung für Unicode-Zeichen. Dabei wird jedem Unicode-Zeichen eine speziell codierte Bytekette von variabler Länge zugeordnet. UTF-8 unterstützt bis zu vier Byte, auf die sich wie bei allen UTF-Formaten alle 1.114.112 Unicode-Zeichen abbilden lassen. Das UTF-8-Header enthält X'EFBBBF'
|
UCB | UTF-16BE Unicode Big-Endian (höherwertiges Byte zuerst). UTF-16 (Abk. für 16-bit Unicode Transformation Format) ist eine Codierung, bei der jedes Unicode-Zeichen mind. 16 Bit belegt. Unicode-Zeichen, deren Code sich nicht mit 16 Bit darstellen läßt, belegen zwei 16-Bit-Wörter (code units). Das UTF-16-Header enthält X'FEFF' .
|
Das höherwertige Byte steht in den ersten 8 Bits, z.B. Die Zahl "0" (X'30' ) erhält den Wert X'0030' .
| |
UCL | UTF-16LE Unicode Little-Endian (niederwertiges Byte zuerst). Das UTF-16-Header enthält X'FFFE' .
|
Das niederwertige Byte steht in den ersten 8 Bits, z.B. Die Zahl "0" (X'30' ) erhält den Wert X'3000' .
| |
HEA | Beim Schreiben Header voranstellen (Standard). Folgende Header werden erstellt: |
UTF | X'EFBBBF' 'UCB X'EFFF' 'UTL X'FFFE' '
| |
NOHEA | Datei ohne Header schreiben. |
Hinweis: | |
Ist die Option für die automatische Erstellung einer Sicherungskopie akitviert (Menüzeile: Optionen / Sicherung), so wird vor dem Zurückschreiben der Datei eine Sicherungskopie erstellt. | |
Beispiele: | |
write'datei1' .write test.zip(verz1/test1.src)
| |