33

I want to run a R script file (.r) using batch file.

3
  • I don't know what .r script file is; however, you must remember that a Batch file is just an automated way to execute DOS commands, so the answer to your question is: How do you run a R script file with a DOS command? If you can't do that via a command line, then a Batch file can't do either... Commented Jul 22, 2011 at 16:17
  • if you're still out there could you please help resolve the controversy here (see comment threads below)? Commented Oct 25, 2011 at 3:26
  • 1
    Hardy: in response to your other question (calling r from .net): see stackoverflow.com/questions/5025340/… Commented Oct 25, 2011 at 12:10

4 Answers 4

54

If R.exe is in your PATH, then your windows batch file (.bat) would simply consist of one line:

R CMD BATCH your_r_script.R 

otherwise, you need to give the path of R.exe, so for example:

"C:\Program Files\R\R-2.13.0\bin\R.exe" CMD BATCH your_r_script.R 

you can add certain input arguments to the BATCH command, such as --no-save, --no-restore

so it would be

R CMD BATCH [options] your_r_script.R 

more info on options, etc at http://stat.ethz.ch/R-manual/R-devel/library/utils/html/BATCH.html

Note: R uses the command "BATCH" to non-interactively evaluate a script located in a file. Here we are running the command "BATCH" from a windows .BAT file, but that's merely a coincidence.

Sign up to request clarification or add additional context in comments.

4 Comments

Why flag? Why not just downvote/encourage @mac to edit the answer? This answer tells how to run an R script from the command line, which is the missing piece of information that the OP was looking for, and which neither of the other answers provides ...
@Ben: Did you realize that mac have been a Stack Overflow member for just 3 days and that this answer is his first and only participation in this forum? He has earned all his 12 points from this answer (and your upvote)! I think is very disappointing for me that his answer had caused a -2 qualification in my record...
@Aacini: So? It's a useful answer. As I said, I can't remove my downvote at the moment, but if you edit your answer (even slightly) then I'll remove it ...
@Aacini: Since some were confused, I've edited my response to be a little more explicit that the code examples provided are what you would include in a Windows/DOS .BAT file. My original response was not, I think you'll find, out of context.
24

An answer to another question suggests using Rscript.exe, so your batch file would contain:

"C:\Program Files\R\R-3.0.2\bin\i386\Rscript.exe" your_script.R pause 

It is a good idea to add R to the windows environment path. In a comment in this question @chase gave a link that explains how to set the path on windows 7. Once R is added to the windows path, your batch file should become simply :

Rscript.exe your_script.R pause 

You can also directly call a R command by using the -e flag. For example this batchfile will tell R to set its current working directory to Documents, then it will print the working directory:

Rscript.exe -e setwd('Documents');getwd() pause 

1 Comment

I prefer this solution with Rscript.exe over mac's solution with R.exe because with Rscript.exe I can see the output of my script (generated e.g. by cat()) on the command prompt, whereas with R.exe I can't see it.
3

I struggled with the syntax with the answers below, but this worked for me in the .bat file:

C:\Windows\System32\cmd.exe /k ""path to Rscript.exe" "path to .R script"" 

Be sure to place both the path to Rscript.exe and the script in "" together and separately as above.

Comments

-10

I doubt you will be able to run it using a batch file.

http://www.fileinfo.com/extension/r Most known programs that use .r files do so for source code files it looks like. You will probably have to compile it using the program it was written for. I guess you could use a command line compiler from a batch file, but I don't know what language or applications you are using.

If you post the script file or give more information about it, we could probably help you better.

1 Comment

do you know how to use R script in .net?

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.