
;  Dieses Programm verwendet zwei Ascii-Dateien als Argumente und kopiert
;  die erste Datei in die zweite. Falls die erste Datei nicht existiert,
;  erscheint eine Fehlermeldung. Existiert die zweite nicht, wird sie
;  erzeugt. Existiert die zweite Datei bereits, wird ihr Inhalt von der
;  ersten Datei ueberschrieben.
;  Aufruf: (fcopy "infile.ext" "outfile.ext")

(defun fcopy (in out / ifp ofp l)
   (cond ((null (setq ifp (open in "r")))       ; versuche "in" fuer Lesen
                                                ; zu oeffnen
                (princ "Kann die Datei ")       ; Falls nil - Fehlermeldung
                (princ in)
                (princ " nicht lesen."))
        (if ifp (progn
                (setq ofp (open out "w"))       ; oeffene "out" fuer Schreiben
                (while (setq l (read-line ifp)) ; lies jede Zeile von "in"
                   (write-line l ofp)           ; und schreibe sie in "out"
                )
                (close ofp)                     ; beide Dateien schliessen
                (close ifp))
        )
   )
   (princ)
)
