Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Executing a batch file in an R script

Tags:

r

batch-file

I would like to execute a batch file from a R script. The file is in a directory like \\network\path\to\batch\file.bat.

I know I can use the system command in R to run DOS commands but I can't simply use system("start file.bat"). So how would I best use R script to execute this batch file?

like image 727
David Avatar asked Aug 14 '15 17:08

David


3 Answers

Try shell.exec("\\\\network\\path\\file.bat")

The shell.exec command uses the Windows-associated application to open the file. Note the double back-ticks.

Pro tip: write.csv(file='tmp.csv',tmpdat);shell.exec('tmp.csv') is useful (assuming you've associated CSV files with your preferred application for viewing CSV files) for quickly checking output.

like image 94
David S Avatar answered Nov 04 '22 13:11

David S


try shell('\network\path\to\batch\file.bat')

like image 42
Wyldsoul Avatar answered Nov 04 '22 14:11

Wyldsoul


I found this problem when using RSelenium in Windows as well but using this batch file made sure to close all chromedriver processes. I was ending up with a ton of these processes after a lengthy scraping session.

My solution was to execute the batch file from within the R script every so often by using:

    shell.exec(file.path(getwd(), "kill_chromedriver.bat"))
like image 31
salvu Avatar answered Nov 04 '22 13:11

salvu