【发布时间】:2021-10-31 07:28:31
【问题描述】:
我找到了一种使用批处理文件运行我的 R Shiny 应用程序的方法(问题出在 Plot Twist 部分)。
三个具有魔力的文件在同一个文件夹中:
-
main.R
-
运行.R
-
RunApp.bat
main.R 是具有闪亮应用程序的脚本。
run.R 是一个运行main.R 文件并在默认浏览器中打开的脚本。
RunApp.bat 是一个运行run.R 脚本的脚本。
这是run.R中的脚本
library(shiny)
script = "main.R"
runApp(script, launch.browser = TRUE)
这是RunApp.bat 中的脚本,其中 R 在我的本地计算机中的路径:
"C:\Users\Me\Documents\R\R-4.1.1\bin\R.exe" CMD BATCH "run.R"
然后,RunApp.bat 在我本地机器的浏览器中打开我闪亮的应用程序。这很有用,因为我可以通过直接访问位于我的桌面上的 RunApp.bat 文件或任何时候打开 web 应用程序,因此源代码将被其他用户隐藏。
情节转折:
我想与其他用户共享 web 应用程序。我们都共享一个位于服务器中的 sharedFolder(我不知道我是否在这里使用了正确的术语,我只是一名统计学家,对信息学了解不多),该服务器是我可以访问的机器到。
然后,如果其他用户可以访问他们本地计算机中的共享文件夹,我只需将三个文件(上面提到的)放在该 sharedFolder 中,并通过该批处理文件运行应用程序。
我做了所有这些并将 R 文件夹移动到 sharedFolder 中。我只将RunApp.bat 脚本更改为:
"\\192.168.x.y\sharedFolder\R\R-4.1.1\bin\R.exe" CMD BATCH "run.R"
但是当我运行RunApp.bat 文件时,我收到了下一条消息:
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported. Defaulting to Window directory.
C:Windows>"\\192.168.x.y\sharedFolder\R\R-4.1.1\bin\R.exe" CMD BATCH "run.R"
当我在 sharedFolder 中运行 R.exe 文件时,也会出现相同的“UNC 路径不支持”消息。
有什么办法可以解决这个问题吗?我搜索并找到了有关使用 PUSHD 和 POPD 命令的信息,但我不知道我是否以正确的方式使用它们,因为它不起作用。
【问题讨论】:
-
UNC 路径不受支持,因此您不能在 Windows 上使用像“\\192.168.x.y\sharedFolder”这样的文件路径。您需要安装 UNC path to a local file path。您需要为每个想要运行应用程序的用户执行此操作。
-
我不知道我是否正确,但这是否意味着在这种情况下无法使用共享文件夹?我必须在每台机器上设置应用程序,就像我在本地机器上一样?
-
pushdcommand 支持 UNC 路径并映射到临时驱动器;popd最终发布了该驱动器……
标签: r batch-file shiny