2010-04-06 50 views
6

En script por lotes, que se puede ejecutar una secuencia de comandos de I con la siguiente sintaxis:Run R script desde Powershell

Rterm.exe --quiet --slave --vanilla < "C:\some_script.R" 

Sin embargo, Powershell parece haber reservado "<" para una futura expansión. Me pregunto si existe una forma directa de ejecutar el script R dentro de otro script de Powershell.

Respuesta

11

Probablemente debe buscar Rscript en lugar de redirección - esto se convertiría en

Rscript.exe C:\someScript.R 

donde se puede añadir las opciones usuales

+3

Para cualquiera que visite esta página ahora (y sé que tiene 5 años), hay una respuesta más general para ejecutar programas externos y redireccionar stdin a powershell en http://stackoverflow.com/questions/12478535/how-can- i-execute-an-external-program-with-parameters-in-powershell. Claramente, aunque Rscript es una mejor opción que Rterm para esto. –

3

La manera más fácil es probablemente para envolverlo en una llamada a cmd.exe:

cmd.exe /C "Rterm.exe --quiet --slave --vanilla < `"C:\some_script.R`"" 
Cuestiones relacionadas