如何在win 2008 R2中安排batch file在桌面上运行

我有一些备份batch file脚本,我在XP中运行,我已经迁移到windoes服务器2008 R2,它不在前面运行任务pipe理器计划。 我苦苦挣扎了很多,使它运行在任务pipe理器的计划时间,它正在运行,但没有显示进程(在后台运行)。 我也知道显示所有正在运行的任务的选项。 我在谷歌search,我没有find它。 有谁知道如何让任务pipe理器在Windows Server 2008 R2的桌面上(打开cmd提示符)执行.bat文件? 我安排它作为相同的桌面用户运行!

谢谢!

只有在用户login时使用“ 运行”选项时,才能以交互方式启动任务。 以下是Task Scheduler帮助文件的摘录:

您可以指定任务应该运行,即使任务计划运行的帐户未在任务触发时login。 要做到这一点,select标签运行无论用户是否login的单选button。 如果select此单选button,任务将不会交互式运行。 要使任务以交互方式运行,请select“仅在用户login时运行”单选button。

我用psexec -i尝试了一下,但没有运气,对不起。

您可以使用schtasks.exefind正在运行的计划任务的列表,例如:

 schtasks /query | find "Running" 

如果你想要看起来有点奇怪,那么你也可以为每个正在运行的任务取出命令行。 这里是一个batch file的例子:

 @echo off for /f "delims=," %%i in ('schtasks /query /fo csv ^| find "Running"') do ( for /f "delims=, tokens=9" %%j in ('schtasks /query /fo csv /v /tn %%i ^| find /v "Next Run Time"') do ( echo %%~i %%j ) ) 

为了回应你上面的评论,你可以做3件事来validation脚本是否正确运行。

  1. 您可以检查以确保计划的任务是成功的。
  2. 你可以在你的batch file的最后创build一行来写一个命令到一个文件来显示它已经完成echo Script finished %date% %time% >> c:\batch\backupScript.log
  3. 你可以手动运行它。