8

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?

1
  • 1
    What exactly is the issue you're having? Commented Aug 14, 2015 at 17:15

4 Answers 4

12

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.

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

1 Comment

I may need to make a new question for this but, how can I force the R script to wait until the batch script has completely run before executing? Right now, the script simply starts the batch script and moves on to the next part of the code.
1

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

Comments

1

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"))

Comments

1

This is what I did on windows platform.

cmd='\\prj\\whatkit\\test.bat'
system(cmd, intern = TRUE, show.output.on.console = TRUE)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.