次: , 前: Testing Accessibility, 上: Information about Files


24.6.2 ファイルの種類の区別

本節ではさまざまな種類のファイル、つまり、 ディレクトリ、シンボリックリンク、普通のファイルを区別する方法を 説明します。

— 機能: file-symlink-p filename

ファイルfilenameがシンボリックリンクであると、 関数file-symlink-pは当該リンクが指すファイルの名前を返す。 これは、テキストファイル、ディレクトリ、別のシンボリックリンク、 存在しないファイルの名前のいずれかである。

ファイルfilenameがシンボリックリンクでない (あるいは当該ファイルが存在しない)場合、 file-symlink-pnilを返す。

          (file-symlink-p "foo")
               => nil
          (file-symlink-p "sym-link")
               => "foo"
          (file-symlink-p "sym-link2")
               => "sym-link"
          (file-symlink-p "/bin")
               => "/pub/bin"
     
— 機能: file-directory-p filename

ファイルfilenameが既存ディレクトリの名前であるとtを返し、 さもなければnilを返す。

          (file-directory-p "~rms")
               => t
          (file-directory-p "~rms/lewis/files.texi")
               => nil
          (file-directory-p "~rms/lewis/no-such-file")
               => nil
          (file-directory-p "$HOME")
               => nil
          (file-directory-p
           (substitute-in-file-name "$HOME"))
               => t
     
— 機能: file-regular-p filename

ファイルfilenameが存在しそれが普通のファイル (ディレクトリでもシンボリックリンクでも名前付きパイプでも 端末でもその他の入出力装置でもない)であれば、 この関数はtを返す。