Cannot execute Windows commands via Python in 64-bit

Larry Bates larry.bates at websafe.com
Wed May 2 18:46:32 EDT 2007


minitotoro wrote:
> On May 2, 3:07 pm, Larry Bates <larry.ba... at websafe.com> wrote:
>> nsjmetz... at gmail.com wrote:
>>> I have a script that runs fine in Windows 2003 (32-bit). It basically
>>> calls the Windows defrag command. When I try the exact same code on
>>> Windows 2003 (64-bit) I get the following message:
>>>  C:\Scripts>autodefrag.py
>>> Starting defragment:  defrag -v C: >>c:/Scripts/DEFRAG20070502.log
>>> 'defrag' is not recognized as an internal or external command,
>>> operable program or batch file.
>>> I have tried defrag.exe and even giving it the full path to
>>> defrag.exe. Always the same result. Here is the python code that is
>>> generating this error:
>>> cmd = "defrag -v C: >>c:/Scripts/DEFRAG20070502.log"
>>> print "Starting defragment: ", cmd
>>> errorlevel = os.system(cmd)
>>> Anyone know what the heck is going on and how to fix it? This code
>>> works fine on my 32-bit windows machines.
>>> Thanks.
>> Sounds like system can't find defrag.  Usually this is because of a path
>> issue.  Are you running the script in the foreground or scheduled?  Can
>> you open a command prompt and enter the command and have it work?  If
>> you give full path, this shouldn't be the problem.
>>
>> -Larry
> 
> I have tried foreground and scheduled (neither works). I can run
> defrag from the command prompt with no problem. If I give it the full
> path in the script it still fails. I am completely befuddled. Help.
> 
Copy and paste the traceback here for us.

-Larry



More information about the Python-list mailing list