我有很多人@工作,我想分享一些R脚本和其他各种各样的好东西。这要求他们有一个R的实例并伴随Rtools启动并运行在他们的路径上。在脚本中添加一些内容非常容易,但是从Windows命令行安装R和Rtools不是(至少谷歌搜索"从Windows命令行安装R"没有效率)。
如何将Windows终端中的R和RTools安装到C:\
级别目录中(可以将其设置为.bat文件以进行可点击分发)?
答案 0 :(得分:2)
我必须学习一些bash,但这个脚本似乎有效:
@echo off
If NOT exist "C:\R\R-3.3.0"\ (
bitsadmin /transfer mydownloadjob /download /priority normal ^
https://cran.r-project.org/bin/windows/base/R-3.3.0-win.exe C:\\Users\\%username%\Downloads\R-3.3.0-win.exe
C:\\Users\\%username%\Downloads\R-3.3.0-win.exe /VERYSILENT /DIR="C:\R\R-3.3.0"
)
If NOT exist "C:\Rtools\"\ (
bitsadmin /transfer mydownloadjob /download /priority normal ^
https://cran.r-project.org/bin/windows/Rtools/Rtools33.exe C:\\Users\\%username%\Downloads\Rtools33.exe
C:\\Users\\%username%\Downloads\Rtools33.exe /VERYSILENT /DIR="C:\Rtools\"
)
答案 1 :(得分:1)
FWIW这是我使用的。 R和Rstudio的巧克力包可以很好地获得最新版本。然后,我使用批处理脚本来获取最新的Rtools。注意,我假设你有curl和grep可用。以管理员身份运行,我将这些内容与安装所有内容的主脚本分开调用,但您可以将其包装成一个。
获得巧克力
@echo off
setlocal
where choco > NUL || goto :getChoco
goto :EOF
:: chocolatey
:: https://github.com/chocolatey/choco/wiki/Installation
:getChoco
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
:EOF
使用choco安装R
@echo off
setlocal
:: https://chocolatey.org/packages
choco install -y r.project
安装最新的Rtools
@echo off
setlocal EnableExtensions
pushd "%~dp0"
set "uri=https://stat.ethz.ch/CRAN/bin/windows/Rtools/"
:: skip if already installed
if exist c:\Rtools goto :EOF
:: find latest version
for /f "tokens=1" %%i in ('curl -Ls "%uri%" ^|
grep -Poi -m 1 "Rtools[0-9]+\.exe"') do (
set "latest=%%i"
)
if "x%latest%"=="x" (
echo.error: Latest version of Rtools not found
goto :EOF
)
:download
if not exist Rtools.exe (
echo.Downloading Rtools from %uri%%latest%
curl -Lo Rtools.exe "%uri%%latest%"
)
:install
if exist Rtools.exe (
Rtools.exe /SILENT /SP- /NORESTART
) else echo.error: Rtools.exe not found
if exist "C:\Rtools" del Rtools.exe
popd
:EOF
答案 2 :(得分:0)
您正在寻找testList
标志,请参阅R faq
编辑:忘记了/VERYSILENT
标记