Checks the permission of a file or a directory
Checks the permission of a file or a directory.
## Default S3 method: fileAccess(pathname, mode=0, safe=TRUE, ...)
pathname |
A |
mode |
An |
safe |
If |
... |
Not used. |
In R there is file.access
() for checking whether the
permission of a file.
Unfortunately, that function cannot be 100% trusted depending on
platform used and file system queried, cf. [1].
Returns an integer
; 0 if the permission exists, -1 if not.
This function follows symbolic links (also on Windows) and returns a value based on the link target (rather than the link itself).
Henrik Bengtsson
[1] R-devel thread
file.access() on network (mounted) drive on Windows Vista?
on Nov 26, 2008.
https://stat.ethz.ch/pipermail/r-devel/2008-December/051461.html
[2] Filesystem permissions, Wikipedia, 2010.
https://en.wikipedia.org/wiki/Filesystem_permissions
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Current directory # - - - - - - - - - - - - - - - - - - - - - - - - - - - - path <- "." # Test for existence print(fileAccess(path, mode=0)) # Test for execute permission print(fileAccess(path, mode=1)) # Test for write permission print(fileAccess(path, mode=2)) # Test for read permission print(fileAccess(path, mode=4)) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - # A temporary file # - - - - - - - - - - - - - - - - - - - - - - - - - - - - pathname <- tempfile() cat(file=pathname, "Hello world!") # Test for existence print(fileAccess(pathname, mode=0)) # Test for execute permission print(fileAccess(pathname, mode=1)) # Test for write permission print(fileAccess(pathname, mode=2)) # Test for read permission print(fileAccess(pathname, mode=4)) file.remove(pathname) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - # The 'base' package directory # - - - - - - - - - - - - - - - - - - - - - - - - - - - - path <- system.file(package="base") # Test for existence print(fileAccess(path, mode=0)) # Test for execute permission print(fileAccess(path, mode=1)) # Test for write permission print(fileAccess(path, mode=2)) # Test for read permission print(fileAccess(path, mode=4)) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - # The 'base' package DESCRIPTION file # - - - - - - - - - - - - - - - - - - - - - - - - - - - - pathname <- system.file("DESCRIPTION", package="base") # Test for existence print(fileAccess(pathname, mode=0)) # Test for execute permission print(fileAccess(pathname, mode=1)) # Test for write permission print(fileAccess(pathname, mode=2)) # Test for read permission print(fileAccess(pathname, mode=4))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.