createWindowsShortcut {R.utils} | R Documentation |
Creates a Microsoft Windows Shortcut (.lnk file)
Description
Creates a Microsoft Windows Shortcut (.lnk file).
Usage
## Default S3 method:
createWindowsShortcut(pathname, target, overwrite=FALSE, mustWork=FALSE, ...)
Arguments
pathname |
The pathname (with file extension *.lnk) of the link file to be created. |
target |
The target file or directory to which the shortcut should point to. |
overwrite |
If |
mustWork |
If |
... |
Not used. |
Value
Returns (invisibly) the pathname.
Required privileges on Windows
In order for this method, which utilizes Windows Script Host a VBScript, to succeed on Windows, the client/R session must run with sufficient privileges (it has been reported that Administrative rights are necessary).
Author(s)
Henrik Bengtsson
References
[1] Create a windows shortcut (.LNK file), SS64.com,
https://ss64.com/nt/shortcut.html
See Also
Examples
# Create Windows Shortcut links to a directory and a file
targets <- list(
system.file(package="R.utils"),
system.file("DESCRIPTION", package="R.utils")
)
for (kk in seq_along(targets)) {
cat("Link #", kk, "\n", sep="")
target <- targets[[kk]]
cat("Target: ", target, "\n", sep="")
# Name of *.lnk file
pathname <- sprintf("%s.LNK", tempfile())
tryCatch({
# Will only work on Windows systems with support for VB scripting
createWindowsShortcut(pathname, target=target)
}, error = function(ex) {
print(ex)
})
# Was it created?
if (isFile(pathname)) {
cat("Created link file: ", pathname, "\n", sep="")
# Validate that it points to the correct target
dest <- filePath(pathname, expandLinks="any")
cat("Available target: ", dest, "\n", sep="")
res <- all.equal(tolower(dest), tolower(target))
if (!isTRUE(res)) {
msg <- sprintf("Link target does not match expected target: %s != %s", dest, target)
cat(msg, "\n")
warning(msg)
}
# Cleanup
file.remove(pathname)
}
}
[Package R.utils version 2.12.3 Index]