26 lines
1.1 KiB
Common Lisp
26 lines
1.1 KiB
Common Lisp
|
|
; 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)
|
|
)
|
|
|