【发布时间】:2015-04-22 15:46:00
【问题描述】:
我的 C: 驱动器上有一个 archive.pst 文件,我在 Outlook 中使用它来备份我的电子邮件。但是我的 C: 不是每晚都备份的。因此,我想将 .pst 文件复制到我的网络驱动器,以便始终对其进行备份。出于各种原因,我不希望 Outlook 直接从网络驱动器打开 .pst 文件。
因此,我尝试创建一个计划任务,每天将我的 .pst 文件复制到网络位置。如果双击,下面的批处理文件可以完美运行。如果我尝试运行计划任务,则只会创建日志文件。 Outlook 不会关闭,并且不会复制 .pst 文件。我试过以最高权限运行,但这似乎没有帮助。任何想法将不胜感激。
cscript.exe close_outlook.vbs
::This is my VBS Script
::Set Outlook = CreateObject("Outlook.Application")
::Outlook.Quit
ping localhost > nul
set idrive="\\myserver\drive\\Outlook Files\"
set current="C:\myfolder\myuser\Documents\Outlook Files"
echo Start Time of Copy: %time% >> %idrive%\Log.txt
copy %current%\archive.pst %idrive%\archive.pst /y
echo End Time of Copy: %time% >> %idrive%\Log.txt
move %idrive%\Log.txt %idrive%\BackupLogs\Log.txt
ren %idrive%\BackupLogs\Log.txt %date:~10,4%-%date:~4,2%-%date:~7,2%_log.txt
cscript.exe open_outlook.vbs
::This is my VBS Script
::set shell = createobject("wscript.shell")
::shell.run "outlook.exe"
EXIT
【问题讨论】:
-
计划任务是否在您的用户帐户下运行?
-
我建议将文件保存在非系统(不是 C)驱动器上。 C: 驱动器需要管理员权限。
-
您是否检查过计划任务是否在您的用户帐户下运行?为什么不在您离开计算机更长时间之前关闭 Outlook?
-
是的。该任务正在我的用户帐户下运行。我可以在任务运行之前关闭 Outlook。我也可以每天早上去喝咖啡时手动运行批处理文件(我目前的方法)。但我只是想弄清楚如何通过计划任务完成这项工作。 :-)
-
好吧,当批处理文件在您的计算机上作为计划任务执行时,我们几乎不可能找出问题所在。我建议附加到批处理文件
>>C:\Temp\Output.txt 2>>C:\Temp\Errors.txt的每一行,并确保存在一个目录C:\Temp,并且每个人都有写权限。也许您可以在 2 个文件上看到当批处理文件作为计划任务执行时,哪些文件不起作用。
标签: batch-file vbscript scheduled-tasks