【问题标题】:What is the Windows version of cron? [closed]什么是 Windows 版本的 cron? [关闭]
【发布时间】:2010-09-13 01:49:20
【问题描述】:

一个Google search 出现的软件执行与 cron 相同的功能,但没有内置在 Windows 中。

我正在运行 Windows XP Professional,但任何版本的 Windows 的建议都可能对某人有所帮助。

还有没有办法以编程方式或通过命令行调用此功能(基于答案称为任务计划程序)?

【问题讨论】:

  • 你需要cron的哪些功能是Task Scheduler没有提供的?
  • Cron 通过电子邮件将标准输出和标准错误发送给用户——我们如何在任务计划程序中做到这一点?
  • @user3450049:您总是可以在操作部分添加任务以通过邮件发送日志。您可以根据自己的方便从 Telnet 或 Sendmail 使用。见stackoverflow.com/questions/18652001/send-mail-via-cmd-console

标签: windows cron scheduling scheduled-tasks


【解决方案1】:

对于最初的问题,询问 Windows XP(和 Windows 7):Windows Task Scheduler

对于命令行使用,您可以使用AT command 进行调度。

对于较新的 Microsoft 操作系统版本,Windows Server 2012 / Windows 8,请查看schtasks 命令行实用程序。
如果使用 PowerShell,Scheduled Tasks Cmdlets in Windows PowerShell 用于编写脚本。

【讨论】:

  • 在 Windows 10 中,at.exe 已弃用且不会运行。 schtasks.exe 难以使用(例如,没有管理员权限将无法运行)并且存在漏洞(例如,/Z 开关)。
  • Windows 7 怎么样?
  • @Tarik Windows 7 也将支持任务计划程序。
  • 我的 windows 7 cmd 有 AT 和 schtasks。有区别/偏好吗?为什么两者都有?
  • 任务计划程序是一款软件的垃圾箱之火。每次我打开它时,它都有 50/50 的机会将整个计算机的帧速率降低到 3fps,同时尝试加载类似 6 个项目的表格视图
【解决方案2】:

使用 Windows 任务计划程序按时间和日期安排任务。

【讨论】:

    【解决方案3】:

    'at' 命令。

    "AT 命令调度命令和 在计算机上运行的程序 指定的时间和日期。日程安排 服务必须运行才能使用 AT 命令。”

    【讨论】:

    • 已弃用,使用 schtasks.exe。
    【解决方案4】:

    Windows "AT" command is very similar to cron。它可以通过命令行获得。

    【讨论】:

    • 您提供的链接也将我引导至 SCHTASKS 命令。
    【解决方案5】:

    除了 Windows 任务计划程序之外,您还可以在 Windows 上使用“at”。除了它有一个命令行界面之外,我不确定它与任务计划程序有何不同。

    【讨论】:

      【解决方案6】:

      最接近的等价物是 Windows 计划任务(控制面板 -> 计划任务),尽管它们与 cron 相去甚远。

      (对我而言)最大的不同是它们需要一个用户登录到 Windows 框,以及一个用户帐户(带有密码和所有密码),如果您的本地安全策略需要定期更改密码,这将成为一场噩梦。我也认为它在设置项目运行间隔方面不如 cron 灵活。

      【讨论】:

      • 虽然 cron 绝对优于 Windows 任务,但您实际上可以使用不需要密码且对本地计算机具有完全权限的计算机“SYSTEM”帐户。尽管如果您使用外部资源(例如需要域凭据的共享驱动器),这显然会出现问题。
      • @SteveBauman 关键是本地资源,Windows 可能拥有有史以来最好的任务调度程序,但如果这些任务只能在本地资源上运行,那么如果你需要做一些简单的事情,比如复制按计划备份到本地 PC。
      【解决方案7】:

      还有没有办法以编程方式调用此功能(基于答案称为任务计划程序)[...]?

      MSDN 上的任务调度程序API

      【讨论】:

        【解决方案8】:

        如果您更喜欢良好的 cron,CRONw 是您的最佳选择。

        Supported systems
        
        * Windows 2000 (any version)    works
        * Windows XP (SP 2)             works
        * Windows Server 2003           works
        * Windows NT 4 (SP 6)           should work but not tested
        * Windows 3.11, Windows 95,
          Windows 98, Windows ME,
          Windows XP beneath SP2        not supported by design
        

        【讨论】:

        • 我试过这个,当我最终安装它并尝试测试它时,我得到的只是这条消息:We were asked to go - so I'm out finally... 我尝试的任何命令都向我发送了这条消息。怎么回事?这个项目不再活跃或该消息的含义是什么?谢谢
        • @Metafaniel,我已经有 4 或 5 年没有 Windows 系统了,所以我并没有真正跟上。谷歌搜索该响应只会将我带到此页面,并且我在他们的网站上看不到任何有关关闭的信息。查看sourceforge repo,看起来它在大约十年内没有改变,所以我想知道您的本地系统是否存在某种冲突?考虑到自上次更新以来已经很久了,我肯定会说它不再活跃,尽管这是一个非常奇怪的反应。
        • @Metafaniel 我还下载并搜索了该消息的代码库,但一无所获。祝你好运弄清楚发生了什么!
        • @Metafaniel 如帖子中所述,对于 XP SP2 之后的 Windows,它不受支持。
        【解决方案9】:

        Zcron 可免费供个人使用。

        【讨论】:

        • Z-Cron 完全正确。
        • 它只允许间隔 5 分钟的 cronjobs。
        【解决方案10】:

        不完全是 Windows 版本,但是您可以使用 Cygwin 的 crontab。有关安装说明,请参见此处:here

        【讨论】:

        【解决方案11】:

        pycron 在 Windows 上非常匹配。支持以下条目:

        1    Minute (0-59)
        2    Hour (2-24)
        3    Day of month (1-31)
        4    Month (1-12, Jan, Feb, etc)
        5    Day of week (0-6) 0 = Sunday, 1 = Monday etc or Sun, Mon, etc)
        6    User that the command will run as
        7    Command to execute
        

        【讨论】:

        • 这不是命令行工具。如我所见,它只检查当前时间是否符合您的设置。
        • 这只是一个解析器,它不执行任务。
        【解决方案12】:

        NNCron 用于 Windows。 IT 可以安排作业定期运行。

        【讨论】:

          【解决方案13】:

          At 命令现已弃用

          你可以使用SCHTASKS

          【讨论】:

            【解决方案14】:
            1. 您可以在 PowerShell 中使用计划任务 API 以及 config.json 文件进行参数输入。我猜最小限制是 5 分钟。一个示例tutorial,用于通过 API 创建非常基本的计划任务

            2. 您也可以通过 cmd 使用 schtasks.exe。在执行 schtasks.exe /Create /? 时,我可以看到分钟修饰符限制为 1 分钟。无论如何,现在 AT 已被弃用。

            无论如何,我正在开发一种表现得像 CRON 的工具。如果成功我会在这里更新。

            【讨论】:

              【解决方案15】:

              https://github.com/mgefvert/Cronical查看出色的 Cronical 程序

              这是一个读取text file with unix-like cron lines 的.NET 程序。使用非常方便。如果 stdout 就像 unix cron 一样,它将发送电子邮件。它甚至支持充当服务运行器。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-08-19
                • 1970-01-01
                • 1970-01-01
                • 2014-09-04
                • 2023-04-01
                • 2023-03-07
                相关资源
                最近更新 更多