[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Top] [Table des matières] [Index] [ ? ]

25.6.2 Distinguishing Kinds of Files

This section describes how to distinguish various kinds of files, such as directories, symbolic links, and ordinary files.

Function: file-symlink-p filename

If the file filename is a symbolic link, the file-symlink-p function returns the (non-recursive) link target as a string. (Determining the file name that the link points to from the target is nontrivial.) First, this function recursively follows symbolic links at all levels of parent directories.

If the file filename is not a symbolic link (or there is no such file), file-symlink-p returns nil.

 
(file-symlink-p "foo")
     ⇒ nil
(file-symlink-p "sym-link")
     ⇒ "foo"
(file-symlink-p "sym-link2")
     ⇒ "sym-link"
(file-symlink-p "/bin")
     ⇒ "/pub/bin"

The next two functions recursively follow symbolic links at all levels for filename.

Function: file-directory-p filename

This function returns t if filename is the name of an existing directory, nil otherwise.

 
(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
Function: file-regular-p filename

This function returns t if the file filename exists and is a regular file (not a directory, named pipe, terminal, or other I/O device).


Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.