Construct the path to a file from components and expands Windows Shortcuts along the pathname from root to leaf
This function exists on all platforms, not only Windows systems.
## Default S3 method: filePath(..., fsep=.Platform$file.sep, removeUps=TRUE, expandLinks=c("none", "any", "local", "relative", "network"), unmap=FALSE, mustExist=FALSE, verbose=FALSE)
... |
Arguments to be pasted together to a file path and then be
parsed from the root to the leaf where Windows shortcut files are
recognized and expanded according to argument |
fsep |
the path separator to use. |
removeUps |
If |
expandLinks |
A |
unmap |
If |
mustExist |
If |
verbose |
If |
If expandLinks != "none"
, each component, call it parent,
in the absolute path is processed from the left to the right as follows:
1. If a "real" directory of name parent exists, it is followed.
2. Otherwise, if Microsoft Windows Shortcut file with name
parent.lnk exists, it is read. If its local target exists, that
is followed, otherwise its network target is followed.
3. If no valid existing directory was found in (1) or (2), the expanded
this far followed by the rest of the pathname is returned quietly.
4. If all of the absolute path was expanded successfully the expanded
absolute path is returned.
Returns a character
string.
Internal file.exists()
is call while expanding the pathname.
This is used to check if there exists a Windows shortcut file named
'foo.lnk' in 'path/foo/bar'. If it does, 'foo.lnk' has to be followed,
and in other cases 'foo' is ordinary directory.
The file.exists()
is unfortunately a bit slow, which is why
this function appears slow if called many times.
Henrik Bengtsson
# Default print(file.path("foo", "bar", "..", "name")) # "foo/bar/../name" # Shorten pathname, if possible print(filePath("foo", "bar", "..", "name")) # "foo/name" print(filePath("foo/bar/../name")) # "foo/name" # Recognize Windows Shortcut files along the path, cf. Unix soft links filename <- system.file("data-ex/HISTORY.LNK", package="R.utils") print(filename) filename <- filePath(filename, expandLinks="relative") print(filename)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.