CL FAD - lisp-cookbook-ja/common-lisp GitHub Wiki

入出力 ファイル処理 CL-FAD ライブラリ

CLiki:CL-FAD は ディレクトリやパス関連の判定の処理系ごとの違いを吸収して可搬性を向上させるライブラリ

;; Quicklispでインストール
(ql:quickload "cl-fad")

;; requireですべての関数を読み込む
(require :cl-fad)

;; ディレクトリの内容一覧を表示
(cl-fad:list-directory #p"~/.emacs.d")

;; パスが存在するかどうか判定	
(cl-fad:directory-exists-p "~/.emacs.d/")
;=> p#"/path/to/.emacs.d/" ; 存在すればフルパスを返す
;=> NIL ; 存在しなければnilを返す

;; ファイルが存在するか判定
(cl-fad:file-exists-p "~/.emacs.d/")
;=> #p"/path/to/.emacs.d/" 存在すればフルパスを返す
;=> NIL ; 存在しなければnilを返す

;; ディレクトリ内のすべてのファイルを再帰的に表示
(cl-fad:walk-directory 
	#p"~/.emacs.d/site-start.d")

;; ファイルのコピー
(cl-fad:copy-file "~/work/hoge.txt" "~/work/hoge2.txt")

;; ディレクトリ、ファイルを削除
(cl-fad:delete-directory-and-files
	#p"~/.emacs.d/site-start.d")