如何在win 2008 R2中安排批处理文件在桌面上运行

如何在win 2008 R2中安排批处理文件在桌面上运行

我有一些备份批处理文件脚本,之前在 xp 中运行,现在我已将其迁移到 windoes server 2008 R2,在使用任务管理器安排时,它不会在前面运行。我费了好大劲才让它在任务管理器的预定时间运行,它确实在运行,但没有显示进程(在后台运行)。我还知道显示所有正在运行的任务的选项。我在谷歌上搜索过,但到目前为止还没有找到。有人知道如何让任务管理器在 windows server 2008 R2 中的桌面上执行 .bat 文件(打开 cmd 提示符)吗?我安排它以相同的桌面用户身份运行!

谢谢你!

答案1

仅当您使用仅在用户登录时运行选项。以下是任务计划程序帮助文件的摘录:

您可以指定任务应运行,即使触发任务时计划运行任务的帐户未登录。为此,请选中标有无论用户是否登录都运行。如果选中此单选按钮,任务将不会以交互方式运行。要使任务以交互方式运行,请选择仅在用户登录时运行单选按钮。

我进行了一些尝试,psexec -i但没有成功,很抱歉。

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

schtasks /query | find "Running"

如果您想要更花哨一点,您还可以为每个正在运行的任务提取命令行。以下是批处理文件示例:

@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
    )
)

答案2

回应您上面的评论,您可以做三件事来验证您的脚本是否正确运行。

  1. 您可以检查以确保计划任务已成功。
  2. 您可以在批处理文件末尾创建一行,将命令写入文件以显示该命令已完成echo Script finished %date% %time% >> c:\batch\backupScript.log
  3. 您可以手动运行它。

相关内容