tuscript:loesungen:import_mehrerer_rtf_dateien
Zurück zum Inhaltsverzeichnis - Lösungen und Tipps
Import mehrerer RTF-Dateien in eine TUSTEP-Datei
- [ re.to | re.to ]
Siehe Erläuterungen im Quelltext.
$$- SAMMELRTF.M: (original version by MTr & KS, modified by rtb, 19.04.13)
$$- -----------
$$-
$$- Dieses Tuscript importiert die Daten aus mehreren RTF-Dateien
$$- aus einem beliebigen Verzeichnis in eine einzige (Tustep-Gesamt-)
$$- Zieldatei.
$$- ACHTUNG: Wenn diese schon existiert, wird sie angemeldet und vor
$$- dem Import gelöscht!
$$-
$$- Optional kann ein Muster vorgegeben werden, dem die Dateinamen
$$- entsprechen müssen (hier '*.rtf').
$$-
$$- Spezifikationen:
$$-
$$- PATH = dirname Der Namen des Verzeichnisses, in dem die
$$- RTF-Dateien stehen
$$- PATTERN = ... Dateinamenmuster für die zu importierenden
$$- Dateien, z.B. *.rtf'text*.*
$$- ZIEL = dateiname Tustep-Ausgabedatei; wenn die Datei noch nicht
$$- existiert, wird sie kreiert; wenn sie schon
$$- existiert, wird sie überschrieben.
$$-
$$! path=/home/rtb/Dokumente/koze/hz2/Rostocksche, pattern=*.RTF, ziel=hz2_ros.tus
$$-
$$ MODE TUSCRIPT, {}
- Prüfung des Pfades wird vorerst vernachlässigt (wegen Linux-Kompatib.)
- IF-BLOCK
- Muster für Dateinamen prüfen:
IF (pattern .NE. "") THEN
CHECK R_TABLE/TEXT/OR fpos+fmld = ":{pattern}:"
SET mld = CONCAT ("pattern: ", fmld)
IF (fpos.NE.0) ERROR/STOP mld
BUILD R_TABLE/TEXT/OR pattern = ":{pattern}:"
END IF
- Zieldatei kreieren/anmelden und löschen:
ERROR/STOP CREATE (ziel, SEQ-O)
ERROR/STOP ERASE (ziel)
- Ausführung (wobei COMPILE verwendet werden kann,
- aber keinen Geschwindigkeitsvorteil bringt):
SET files = FILE_NAMES (-, $path)
- Prüfen des Pfad-Trennzeichens: Windows oder Linux?
SET sys = SYSTEM()
IF (sys.EQ."WIN") SET delim ="\"
IF (sys.EQ."LINUX") SET delim ="/"
IF (pattern.NE."") SET files = FILTER (files, pattern, -)
LOOP nr, file = files
SET fullname = CONCAT (path, delim, file)
DEFINE "qu*tmp.1" = fullname
- SET file = CAPS (file)
ERROR/STOP OPEN ("qu*tmp.1", READ, -)
IF ("qu*tmp.1" .EQ. 'FDF') THEN
PRINT/ERROR ""
PRINT/ERROR "Datei Nr. ", nr, " (= ", file, ") wird importiert..."
PRINT/ERROR ""
EXECUTE #*import,qu*tmp.1,{ziel},ign=+,lo=-
END IF
ERROR/STOP CLOSE ("qu*tmp.1")
REMOVE "qu*tmp.1"
- Nur zum Testen: Abbruch nach n importierten Dateien:
- IF (nr .EQ. 8) STOP
END LOOP
Zu einem Video (engl.) von R. Tobner (Uni Trier) zu TUSTEP-RTF-Processing siehe unter Videos
tuscript/loesungen/import_mehrerer_rtf_dateien.txt · Zuletzt geändert: von 127.0.0.1
