简体   繁体   中英

How to pass argument to cmd.exe in from python script?

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

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM