Execute batch script on remote computer

Tim Golden tim.golden at viacom-outdoor.co.uk
Mon Feb 13 11:13:18 EST 2006


[py]

| I am trying to execute a batch script on a remote computer.
| 
| The batch script looks like:
| 
| @echo off
| start c:\python24\python.exe c:\a_script.py
| 
| 
| Here's the setup:
| Computer A (my computer), Computer B (the remote computer).
| 
| So I map "W:" to Computer B and then copy the batch script to Computer
| B.  Then from within Python on Computer A I run:
| import subprocess
| subprocess.Popen("W:\\foo.bat")
| 
| However, when it runs it says it can't find c:\a_script.py.  It seems
| to be trying to look
| at Computer A, not Computer B.  How can I do this?

You're confusing a couple of things here. One is a 
drive mapping, which presents the *filesystem* of a
remote computer as though it were local. The other
is a remote procedure call, which presents the
*processor* (and environment etc.) of a remote 
computer as though it were local.

What you're doing has the effect of running a
remote *file* on a local *processor*.

You could run a remote script -- on the *remote*
processor -- under vanilla Windows using WMI, and
possibly using some other DCOM-based technology, such
as WSH. But you'd run into some security / environment
issues depending on just what your remote script was
trying to do.

You could also -- if you were prepared to invest in
some more software infrastructure -- employ Pyro
(http://pyro.sf.net), Corba, XML-RPC or any one of
several other RPC-type technologies.

Are you even more confused now than you were when
I started? ;)

TJG

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________



More information about the Python-list mailing list