Problem with subprocess.call and windows schtasks

Tom Borkin borkintom at gmail.com
Sun Nov 18 14:48:16 CET 2012


Hi,
I have this code:

#!\Python27\python

import subprocess
#subprocess.call(['SchTasks /Create /SC ONCE /TN "My Tasks" /TR "C:/Program
Files/Apache Group/Apache2/htdocs/ccc/run_alert.py" /ST 07:50'], shell=True)
subprocess.call(['SchTasks /Create /SC ONCE /TN "test" /TR "run_alert.py"
/ST 07:50'], shell=True)
With either call, I get this error:
C:\Program Files\Apache Group\Apache2\htdocs\ccc>cron_alert_activity.py
The system cannot find the path specified.

If I remove the ", shell=True" I get this:
C:\Program Files\Apache Group\Apache2\htdocs\ccc>cron_alert_activity.py
 C:\Program Files\Apache Group\Apache2\htdocs\ccc\cron_alert_activity.py,
line 4, in <module>
  subprocess.call(['SchTasks /Create /SC ONCE /TN "test" /TR "run_alert.py"
/ST 07:50'])
 File "C:\Python27\lib\subprocess.py", line 493, in call
  return Popen(*popenargs, **kwargs).wait()
 File "C:\Python27\lib\subprocess.py", line 679, in __init__ errread,
errwrite)
 File "C:\Python27\lib\subprocess.py", line 896, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
The file exists in said directory. I can execute it from the cmd prompt.

So I tried this:
pgm = "SchTasks"
args = ['/Create /SC ONCE /TN "test" /TR "run_alert.py" /ST 07:50']
#args = ['/Create', '/SC ONCE', '/TN "test"', '/TR "run_alert.py"', '/ST
07:50']
cmd = [pgm]
cmd.extend(args)
subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0]
but got this error:
ERROR: Invalid argument/option - <<the above argument>>

If I use the other args list I get this error:
ERROR: Invalid argument/option - '/SC ONCE'
so apparently it liked the first argument.

Please advise.
TIA,
Tom
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20121118/0ba4870e/attachment.html>


More information about the Python-list mailing list