【问题标题】:UNC path not supported. Shiny app can't be run through a Batch file不支持 UNC 路径。闪亮的应用程序无法通过批处理文件运行
【发布时间】:2021-10-31 07:28:31
【问题描述】:

我找到了一种使用批处理文件运行我的 R Shiny 应用程序的方法(问题出在 Plot Twist 部分)。

三个具有魔力的文件在同一个文件夹中:

  1. main.R

  2. 运行.R

  3. 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 路径不支持”消息。

有什么办法可以解决这个问题吗?我搜索并找到了有关使用 PUSHDPOPD 命令的信息,但我不知道我是否以正确的方式使用它们,因为它不起作用。

【问题讨论】:

  • UNC 路径不受支持,因此您不能在 Windows 上使用像“\\192.168.x.y\sharedFolder”这样的文件路径。您需要安装 UNC path to a local file path。您需要为每个想要运行应用程序的用户执行此操作。
  • 我不知道我是否正确,但这是否意味着在这种情况下无法使用共享文件夹?我必须在每台机器上设置应用程序,就像我在本地机器上一样?
  • pushd command 支持 UNC 路径并映射到临时驱动器; popd 最终发布了该驱动器……

标签: r batch-file shiny


【解决方案1】:

pushd 将为网络路径分配一个驱动器号。不过不要忘记popd 删除它。

【讨论】:

  • 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。
猜你喜欢
  • 2016-07-30
  • 1970-01-01
  • 1970-01-01
  • 2015-09-13
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
  • 2014-07-01
相关资源
最近更新 更多