在Windows上从R创建软符号链接

Rap*_*ter 7 symlink r

我想在Windows上的R(使用Mklink)中创建一个指向文件的符号链接.它失败了,因为我不能告诉R"以管理员身份运行它".有什么方法可以做到这一点吗?

我确实设法创建了硬符号文件链接,但是:

path_src <- file.path(tempdir(), "test.txt")
write("Hello World!", file = path_src)
path_tgt <- file.path(tempdir(), "test_symlink.txt")
shell(sprintf("mklink /H %s %s", 
  normalizePath(path_tgt, mustWork = FALSE),
  normalizePath(path_src)
))
Run Code Online (Sandbox Code Playgroud)

请注意文件如何path_tgt反映对以下内容所做的更改path_src:

write("HELLO WORLD!", file = path_src, append = TRUE)
Run Code Online (Sandbox Code Playgroud)

然而,这失败了:

path_tgt_2 <- file.path(tempdir(), "test_symlink_2.txt")
> shell(sprintf("mklink /D %s %s", 
  normalizePath(path_tgt_2, mustWork = FALSE),
  normalizePath(path_src)
))
Ihre Berechtigungen reichen nicht aus, um diesen Vorgang auszufhren.
Warning messages:
1: running command 'C:\Windows\system32\cmd.exe /c mklink /D C:\Users\Thyson\AppData\Local\Temp\Rtmpum73ZU\test_symlink_2.txt C:\Users\Thyson\AppData\Local\Temp\Rtmpum73ZU\test.txt' had status 1 
2: In shell(sprintf("mklink /D %s %s", normalizePath(path_tgt_2, mustWork = FALSE),  :
  'mklink /D C:\Users\Thyson\AppData\Local\Temp\Rtmpum73ZU\test_symlink_2.txt C:\Users\Thyson\AppData\Local\Temp\Rtmpum73ZU\test.txt' Ausführung mit Fehlerkode 1 fehlgeschlagen
Run Code Online (Sandbox Code Playgroud)

注意

由于德语版的Windows,我似乎无法得到英文错误.第一行转换为" 您没有足够的授权才能执行此过程 "

Ven*_*Yao 2

以管理员身份运行 R。然后,当您从 R 中运行“Mklink”时,您就是管理员。

实际上,您还可以使用 R 函数 file.symlink 来创建符号链接。