@section ファイル操作

ファイルを操作する手続きです。

@defun chdir [dir]
戻り値: 引数がないときは現在の作業ディレクトリ、引数があるときは未定義@*
現在の作業ディレクトリを変更します。
@end defun

@defun directory? path
戻り値: ディレクトリならば#t@*
与えられたパスが存在するディレクトリであるかを調べます。
@end defun

@defun file? path
戻り値: ファイルならば#t@*
与えられたパスが存在するファイルであるかを調べます。
@end defun

@defun exist? path
戻り値: 存在すれば#t@*
与えられたパスが存在するかを調べます。
@end defun

@defun directory-list dir [wildcard-filter-expr]
戻り値: ディレクトリに存在するファイルのリスト@*
ディレクトリに存在するファイルを取得します。この手続きはディレクトリを再帰的に評価しません。@*
wildcard-filter-exprには以下の式が指定できます。

@multitable @columnfractions .25 .7
@item (and [expr @dots{}]) @tab 与えられた条件をすべてみたすとき選択されます
@item (or [expr @dots{}]) @tab 与えられた条件のいずれかをみたすとき選択されます
@item (not expr) @tab 与えられた条件を満たさないとき選択されます
@item exist @tab 存在するパスを選択します
@item directory @tab 存在するディレクトリを選択します
@item file @tab 存在するファイルを選択します
@item 文字列
@tab 文字列で与えられたワイルドカードに一致するパスを選択します。 ワイルドカードのメタ文字は次の通りです。
@multitable @columnfractions .1 .7
@item * @tab 任意の0文字以上
@item . @tab 任意の1文字
@end multitable
@item [@dots{}] @tab 文字集合
@end multitable
@end defun

@defun directory-fold path proc seed [wild-card]
戻り値: ファイルならば#t@*
与えられたパスのサブディレクトリにある(ワイルドカードでフィルタされた)ファイル名すべてに対してfoldします。
procは2つの引数を持ち、第1引数はファイル名、第2引数は今までの結果が与えられます。
@end defun

@defun make-path-name path file
戻り値: 新しいパス@*
パス名とファイル名を組み合わせて新しいパスを生成します。この手続きを使用すればOSのパス区切りの依存性を回避することができます。
@end defun

@defun expand-path path
戻り値: 文字列@*
パスを絶対パスに変換します。
@end defun

@defun absolute-path? path
戻り値: パスが絶対パスのとき#t@*
パスが絶対パスかを調べます。
@end defun

@defun relative-path? path
戻り値: パスが相対パスのとき#t@*
パスが相対パスかを調べます。
@end defun

@defun file-mtime=? time1 time2
戻り値: 下記参照@*
ファイルの更新日時が等しいかを調べます。
引数にはファイルパス・SRFI-19形式の時間オブジェクト・UNIXエポックからの秒数指定できます。
@end defun

@defun file-mtime>=? time1 time2
戻り値: 下記参照@*
ファイルの更新日時が同じまたは未来であるかを調べます。
@end defun

@defun file-mtime>? time1 time2
戻り値: 下記参照@*
ファイルの更新日時が未来であるかを調べます。
@end defun

@defun file-mtime<=? time1 time2
戻り値: 下記参照@*
ファイルの更新日時が同じまたは過去であるかを調べます。
@end defun

@defun file-mtime<? time1 time2
戻り値: 下記参照@*
ファイルの更新日時が過去であるかを調べます。
@end defun

@defun mkdir path
戻り値: ディレクトリが作成されれば#t@*
ディレクトリを作成します。
@end defun

@defun copy-file src-file dest-file
戻り値: 未定義@*
ファイルをコピーします。
@end defun

@defun move-file src-file dest-file
戻り値: 移動が正常終了すれば#t
ファイルを移動します。@*
@end defun

@defun remove-file file @dots{}
戻り値: 未定義@*
ファイルを削除します。
@end defun

@defun rmdir path
戻り値: ディレクトリを削除できれば#t@*
ディレクトリを削除します。
@end defun

@defun touch-file file @dots{}
戻り値: 未定義@*
ファイルをtouchします。 
@end defun

