Reputation: 668
I want to be able to run cmd.exe from a Python script and a particular command with arguments but I can't seem to get it working.
I have tried
cmdL = r"C:\WINDOWS\system32\cmd.exe"
schTasks = "schtasks.exe"
#run the schtasks.exe
os.system(cmdL + schTasks)
but the dos window appears and then disappears quickly.
What am I doing wrong?
Thanks
Upvotes: 1
Views: 6429
Reputation: 122506
The modern way of executing processes from a Python script is by using the subprocess module:
import subprocess
subprocess.call(["schtasks.exe"])
You can also pass arguments, for example:
subprocess.call(["ls", "-l"])
This means you won't need to utilize cmd.exe
. Python will execute the given executable with the given parameters as desired.
Upvotes: 3
Reputation: 16403
You forget the space between cmd.exe
and the argument.
os.system("%s %s" % (cmdL, schTasks))
Nonetheless is the better way to go via subprocess
like the other answer.
Upvotes: 0