PPC
PPC

Reputation: 167

R batch mode: How to see output/error of R on console screen?

While running R code in batch mode i need messages/errors/logs from R code to be shown on console screen instead of .Rout file.

I tried all the posts(links copied below) from stack overflow and none of them are showing me desired output.

  1. running-r-in-batch-mode-print-to-screen?
  2. unable-to-run-r-script-through-bat-files-in-windows-server
  3. r-cmd-batch-output-in-terminal

batch code: i tried with tty0 as well.

"C:\Program Files\R\R-3.2.2\bin\R.exe" CMD BATCH --slave "Test.R" /dev/tty

Test.R code

print(1:10)

It will be very helpful if some has can help me in showing the correct way of writing the code to show the output in console screen.And i am working on windows environment.

Any help is much appreciated, thanks.

Upvotes: 3

Views: 4445

Answers (2)

PPC
PPC

Reputation: 167

I found out solution to my own question with the help of @shayaa and @abhiieor.

In case if some one needs to see their output in console they are suppose to use Rscript instead of R CMD BATCH in executable .bat file.

batch code:

"C:\Program Files\R\R-3.2.2\bin\Rscript.exe" Test.R
pause

Test.R code

print("-Hello World!!",stdout())

In above code stdout() will redirect output to console.

Upvotes: 1

abhiieor
abhiieor

Reputation: 3554

You can redirect the log that you want to print using stdout or stderr. Sample way to do that will be:

write("Hello World!!", stderr())

Here I am redirecting "Hello World!!" to stderr. If you use stdout() instead of stderr() in code snippet above then ideally it should write log to stdout. However I have seen some issues when trying to write into stdout.

Upvotes: 3

Related Questions