簡體   English   中英

如何從 Windows 命令行“獲取”(不是逐行運行)R 腳本

[英]How to “source” (not run line by line) an R script from the Windows command line

我正在創建一個 R 腳本myscript.R它通過XLConnect ZEFE907A8DZE604A67 操作 excel 文件關鍵是它引用了幾個外部文件:excel 文件本身和另一個 R 文件(函數庫),所以我需要在腳本的位置設置一個工作目錄(以便外部文件的相對路徑正常工作)。
我在我的腳本中使用以下內容

new_wd <- dirname(sys.frame(1)$ofile)
setwd(new_wd)

當我從 RStudio 獲取腳本時,它就完成了工作。 問題是該腳本是由非程序員、非 Rstudio 用戶使用的,所以我創建了 .bat 文件(我想把它變成一個 .exe 文件)

"C:\Program Files\R\R-4.0.3\bin\Rscript.exe" "C:\my\path\to\myscript.R" 

它逐行執行腳本,但sys.frame(1)僅在采購時有效。

我該如何解決?

謝謝

我找到了一個解決方案,它可以正常工作。 CMD命令行或.bat文件中,可以將參數-e添加到命令中,以便您可以使用 R 語言。

absolute\path\to\Rscript.exe -e "source('"relative\path\to\myscript.R"')"

它對我有用。 此外,正如 Compo 評論的那樣,我認為不需要.exe文件,因為.bat可以完成這項工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM