Running a batch file with parameters in Python OR F#


I searched the site, but I didn't see anything quite matching what I was looking for. I created a stand-alone application that uses a web service I created. To run the client I use:

C:/scriptsdirecotry> "run-client.bat" param1 param2 param3 param4

How would I go about coding this in Python or F#. It seems like it should be pretty simple, but I haven't seen anything online that quite matches what I'm looking for.

11/12/2016 1:53:02 AM

Accepted Answer

Python is similar.

import os
os.system("run-client.bat param1 param2")

If you need asynchronous behavior or redirected standard streams.

from subprocess import *
p = Popen(['run-client.bat', param1, param2], stdout=PIPE, stderr=PIPE)
output, errors = p.communicate()
p.wait() # wait for process to terminate
5/28/2010 12:58:28 AM

In F#, you could use the Process class from the System.Diagnostics namespace. The simplest way to run the command should be this:

open System.Diagnostics
Process.Start("run-client.bat", "param1 param2")

However, if you need to provide more parameters, you may need to create ProcessStartInfo object first (it allows you to specify more options).

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow