Dateien schreiben

Mit OMS Version 2.2 wird die Skriptsprache um die Anweisungen OPEN FILE, WRITE FILE und CLOSE FILE erweitert. Hiermit können aus einem Skript heraus Textdateien angelegt und mit beliebigen Informationen befüllt werden.

Die OPEN FILE-Anweisung

Mit der OPEN FILE-Anweisung kann eine Datei angelegt und zum Schreiben geöffnet werden. Hierzu muss lediglich der Dateiname als Parameter angegeben werden:

OPEN FILE "C:\Logfile.log";

Wenn die Datei noch nicht existiert, wird sie neu angelegt. Sollte die Datei bereits existieren, dann wird sie nur zum Schreiben geöffnet. Nutzt man die Anweisung wie in diesem Beispiel, dann wird der Inhalt der Datei immer wieder überschrieben. Möchte man dagegen die bestehenden Inhalte beibehalten und neue Inhalte ergänzen, dann kann man das über den Parameter APPEND erreichen:

OPEN FILE "C:\Logfile.log" APPEND;

Die WRITE FILE-Anweisung

Die WRITE FILE-Anweisung ermöglich das Anhängen von Text in eine geöffnete Datei.

WRITE FILE "C:\Logfile.log" "Dies ist ein \"Test\".\n";

Das Escape-Zeichen \n fügt einen Zeilenumbruch ein. Um auch Anführungszeichen in Texten verwenden zu können, steht die Escape Sequenz \" bereit.

Die CLOSE FILE-Anweisung

Mit der CLOSE FILE-Anweisung wird die angegebene Datei geschlossen.

CLOSE FILE "C:\Logfile.log";

Am Ende eines Skriptes werden alle offenen Dateien automatisch wieder geschlossen.

Ein Beispiel: Log-Dateien schreiben

Möchten Sie im Rahmen einer automatisierten Skriptausführung zum Beispiel Log-Files schreiben, dann könnte das in etwa folgendermaßen aussehen:

-- Hilfreiche Makros
DEFINE MAKRO __date          "$!(.Year)$!(.Month)$!(.Day)";
DEFINE MAKRO __time          "$!(.Hour)$!(.Minute)$!(.Second)";
DEFINE MAKRO __logfile       "$(.WorkingDir)\$(__date)_Logfile.log";

-- Log-File schreiben
OPEN FILE  "$(__logfile)" APPEND;
WRITE FILE "$(__logfile)" "$(__LogFileFormat)\n";
Close File "$(__logfile)";

Ist die Makrovariable $(__LogFileFormat) mit "$(.Hour):$(.Minute):$(.Second) $(.DocumentName) > $(.LastMessage) / Letzte Fehlermeldung: [$(.LastError)]" vorbelegt, dann werden Einträge der Form

14:41:14 file_test.osl > Prüfung erfolgreich beendet (00:00:00,000s). / Letzte Fehlermeldung: []

in die Logdatei geschrieben.

Fehlercodes

Beim Zugriff auf Dateien können verschiedene Fehler auftreten. Die nachfolgende Liste enthält die Fehlerbeschreiungen für die Fehlercodes, die nach dem Auftreten eines Fehlers in der Makrovariablen $(.LastError) gespeichert werden können.

ErrorcodeBeschreibung
0 Es ist kein Fehler aufgetreten.
1 Es ist ein unbekannter Fehler aufgetreten.
2 Die Datei wurde nicht gefunden.
3 Der gesamte Pfad oder ein Teil des Pfads ist ungültig.
4 Die zulässige Anzahl offener Dateien wurde überschritten.
5 Die Datei konnte nicht geöffnet werden.
6 Es gab einen Versuch, einen ungültigen Dateihandle zu verwenden.
7 Das aktuelle Arbeitsverzeichnis kann nicht entfernt werden.
8 Es gibt keine weiteren Verzeichniseinträge.
9 Fehler beim Versuch, den Dateizeiger festzulegen.
10 Hardwarefehler.
11 SHARE.EXE wurde nicht geladen, oder eine freigegebene Region wurde gesperrt.
12 Es gab einen Versuch, eine Region zu sperren, die bereits gesperrt war.
14 Der Datenträger ist voll.
15 Das Ende der Datei wurde erreicht.

1 thought on “Dateien schreiben

  1. Pingback: ODBC Management Studio 2.2.1 | ODBC Management Studio

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.