Next: Magic File Names, Previous: Contents of Directories, Up: Files [Contents][Index]
Emacs
Lispのファイル操作関数のほとんどは、ディレクトリーであるようなファイルに使用されたときはエラーとなります。たとえば、delete-file
でディレクトリーの削除はできません。以下のスペシャルカは、ディレクトリーの作成と削除を行うために存在します。
このコマンドは、dirnameという名前のディレクトリーを作成する。parentsが非nil
の場合(インタラクティブな呼び出しでは、常に非nil
となる)、その親ディレクトリーがまだ存在しなければ、最初にそれを作成することを意味する。
mkdir
は、これにたいするエイリアスである。
このコマンドは、dirnameという名前のディレクトリーを、newnameにコピーする。newnameが既存のディレクトリーの場合、dirnameはそれのサブディレクトリーにコピーされるだろう。
これは、常にコピーされるファイルのファイルモードを、対応する元のファイルモードに一致させる。
3つ目の引数keep-timeが非nil
の場合は、コピーされるファイルの修正時刻を保持することを意味する。プレフィックス引数を与えると、keep-timeが非nil
になる。
4つ目の引数parentsは、親ディレクトリーが存在しない場合に作成するかどうかを指定する。インタラクティブな場合、これはデフォルトで発生する。
5つ目の引数copy-contentsが非nil
の場合、それはnewnameが既存のディレクトリーならば、そのサブディレクトリーとしてdirnameをコピーするかわりに、dirnameのコンテンツをnewnameにコピーする。
このコマンドは、dirnameという名前のディレクトリーを削除する。関数delete-file
はディレクトリーであるようなファイルにたいしては機能しない。それらにたいしては、delete-directory
を使用しなければならない。recursiveがnil
で、ディレクトリー内にファイルが存在する場合、delete-directory
はエラーをシグナルする。
delete-directory
は、親ディレクトリーの階層のシンボリックリンクだけをフォローする。
オプション引数trashが非nil
、かつ変数delete-by-moving-to-trash
が非nil
の場合、このコマンドはファイルを削除するかわりに、システムのTrash(ゴミ箱)にファイルを移動する。Miscellaneous File Operations in The GNU Emacs
Manualを参照のこと。インタラクティブに呼び出された際は、プレフィックス引数がない場合trashはt
、それ以外はnil
である。