我创建了一个批处理文件来运行 python 脚本。当我通过双击批处理文件运行它时脚本运行良好,但当我通过任务调度程序运行它时给我不同的结果。脚本如下:
import datetime
import win32com.client
import os
import pandas as pd
import urllib
from sqlalchemy import create_engine
path = os.path.expanduser("//server/drive/folder")
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
run_date = datetime.datetime.now().strftime("%m-%d-%Y")
message = messages.GetLast()
while message.SentOn.strftime("%m-%d-%Y") == run_date:
if message.Subject.find("Some Subject") >= 0:
for attachment in message.Attachments:
if(attachment.FileName.find("xlsx") >= 0):
attachment.SaveAsFile(os.path.join(path, str(attachment)))
FileToUpload = os.path.join(path, str(attachment))
FileName = str(attachment)
MessageToMove = message
message = messages.GetPrevious()
log=[]
MessageToMove.Move(outlook.GetDefaultFolder(6).Folders("Done Folder"))
log.append(run_date)
log.append(message.Subject)
log_file = open("//server/drive/folderLog.txt", 'w')
for item in log: nodis=log_file.write("%s\n" % item)
log_file.close()
我在脚本中做了一些与这种情况无关的事情。
双击工作正常,只比较我今天收到的电子邮件,“消息”是昨天的第一条消息,但任务计划程序比较到我在 Outlook 中的最后一封电子邮件(“消息”是我的最后一封电子邮件外表)。知道为什么会这样。我搜索了几个问题,但找不到我的情况的答案/解决方案。
更新:在任务计划程序中,它直接接收我的 Outlook 收件箱的最后一条消息。