Files
Walz/MENU/FCOPY.LSP
T

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)
)