2016-06-14 50 views
1

當前腳本的Mac Windows兼容性被R腳本中調用猛砸

我上Mac OSX工作。我有一個R腳本,我喜歡用它來組織我的文件並通過LaTex生成.pdf。爲了(1)使用LaTeX生成.pdf,(2)處理一些文件和目錄,我使用R的的Bash腳本。

從蘋果到Windows

我想提供該R腳本(編譯一次,使一個可執行文件),以有人一無所知編程和使用Windows。我不知道Windows提示命令是如何工作的以及它使用什麼語言。我擔心(1)我不能在Windows上使用函數system(""),(2)我不能使用bash,如system("rm dir/file.txt")

問題

你認爲什麼是最簡單的,我爲了讓與Windows我的腳本兼容(因爲我什麼都不知道有關Windows)?我能在Windows上使用system("")和Rash上的Bash嗎?

+0

根據你想要做什麼,使用R命令代替'system'/bash命令就足夠了,這樣就可以自動處理平臺差異了。工具包中有'texi2pdf'來將latex轉換爲pdf。 ''files'中記錄的R命令可能會有所幫助。 –

回答

0

我認爲最好的解決方案是分別處理這兩種情況(請記住,windows路徑也不同於unix路徑)。

if(.Platform$OS.type == "unix") { 
    system("rm dir/file.txt") 
    [...] 
} 
else { 
    system("DEL /Q dir\file.txt") 
    [...] 
} 

在windows cmd中搜索unix等效命令應該沒有問題。

另外請記住,如果您需要R腳本來執行LaTeX二進制文件,由於LaTeX具有巨大的依賴關係,它幾乎會殺死可移植性。