如何使用vbs或批处理脚本在特定时间关闭电脑

2023-12-07

我想要一个脚本放在启动文件夹中
并且不使用任务计划程序

    If time >= 22:00 hrs   // shutdown if startup after 10pm
      Shutdown /s /f
    break

    While (time != 22:00hrs) //looping until 22:00hrs
    Any statement
    Else 
      Shutdown /s /f
    Exit

对于批处理,您可以使用/create的子命令schtasks安排任务的命令。这schtasks是一个允许您管理和创建计划任务的命令。这/create子命令将创建计划任务。

在为您的请求提供解决方案之前,我建议您阅读 Windows 帮助消息schtasks /create /?或通过link我添加了schtasks命令。两者都提供了有关创建计划任务时可用的不同选项的说明,并提供了一些示例。创建计划任务很容易,但是当其中一个导致问题时(例如,它没有按照您真正想要的方式配置),查找并解决问题可能会非常令人头痛。

对于您的情况,最简单的方法是:

SCHTASKS /create /tn "Curfew" /tr "C:\Windows\System32\shutdown.exe /s /f" /sc daily /st 22:00

这将创建一个每天晚上 10 点关闭系统的任务。

EDIT:命令解释:

  • the /tn选项为计划任务指定名称
  • the /troption 用于指定任务必须执行的命令
  • the /sc选项指定任务的频率
  • the /st选项指定任务必须安排在一天中的哪个时间

同样,有关这些选项和命令本身的更多说明,请阅读帮助消息(schtasks /create /?)或遵循link

可以找到一些其他有用的时间表类型示例here

编辑 2:如果系统在晚上 10 点到上午 6 点之间启动,则关闭系统的任务 (see 评论OP)

您需要一个批处理脚本,用于在晚上 10 点到早上 6 点之间关闭系统:

@echo off
REM Get current timestamp from system
FOR /F "tokens=2 delims==." %%G in ('wmic os get LocalDateTime /VALUE') DO set timestamp=%%G
REM Extract hours from timestamp
set hour=%timestamp:~8,2%
REM Verify if hour >= 22 or hour < 6
set shutdown=
IF %hour% GEQ 22 set shutdown=true
IF %hour% LSS 6 set shutdown=true
REM Shutdown system if so
IF "%shutdown%" == "true" shutdown /s /f

It uses wmic os LocalDateTime获取当前时间戳而不是%time%因为它的优点是采用 ISO 格式,并且不像 %time% 那样依赖于区域设置(请参阅这个答案)。将其保存为批处理脚本,例如。作为C:\Windows\Curfew_police.bat或者如果您愿意的话,可以使用“不太明显”的名称,但重要的是系统上的任何用户都可以访问该脚本。然后您可以安排一个任务,该任务将在每次系统启动时执行该脚本/sc onstart:

schtasks /create /tn "Curfew police" /tr "\"c:\path\to script\batch.bat\"" /sc onstart

更换c:\path\to script\batch.bat上面批处理脚本的真实路径(C:\Windows\Curfew_police.bat例如)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用vbs或批处理脚本在特定时间关闭电脑 的相关文章

随机推荐

  • 访问 rshiny 中动态生成的输入

    我有一个应用程序 用户需要将随机生成的元素 在本例中为字母 分配给组 但可以决定使用多少个组 因为selectInput其中定义的成员资格是根据用户指定的数字动态生成的 命名菜单是自动完成的 例如 usergroup1 usergroup2
  • sqljocky同步查询数据库

    我正在尝试使用 sqljocky 同步查询 MySQL 数据库 我有一个Load运行查询并获取数据然后将数据导入到User目的 我遇到的问题是运行查询的 Future 没有及时返回以将对象返回到调用方法 DataObject user ne
  • 如何将 Matplotlib Axes 对象渲染为图像(作为 Numpy 数组)?

    有没有办法将特定 Axes 对象的内容呈现为图像 作为 Numpy 数组 我知道您可以对整个图形执行此操作 但我想获取特定轴的图像 我尝试渲染的轴包含一个图像 用 imshow 绘制 在顶部绘制了一些线条 理想情况下 渲染的 ndarray
  • 最佳实现:机场/火车站出发板(html/css/jquery)[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 任何人都可以向我指出使用 HTML CSS jQuery 的火车站出发板的实现吗 这适合您的需求吗 不是我的 但执行得很好 http jsfiddl
  • 将 Swift 3 升级到 4,Swift 扩展不再出现在 Objective C 中

    我刚刚完成将混合语言项目 objective c 和 Swift 从 Swift 3 升级到 Swift 4 一切似乎都很顺利 除了我所有的 Swift 扩展都无法再在 Objective C 中访问 我不知道如何获得anySwift 扩展
  • 来自另一个类库的基本控制器在 Web api 中不起作用

    我有两个 Web API 项目 还有一个MarketController我需要扩展 Api 控制器 所以我做到了 我创建了一个BaseController类并继承自ApiController像这样 public class BaseCont
  • 计算数百 GB 数据中的子序列

    我正在尝试处理一个非常大的文件并计算文件中特定长度的所有序列的频率 为了说明我正在做的事情 请考虑一个包含序列的小输入文件abcdefabcgbacbdebdbbcaebfebfebfeb 下面 代码读取整个文件 并获取长度为 n 的第一个
  • 如何在 AngularJS 中检索之前的 URL

    我知道我可以使用获取当前 URL location search and location path 但我需要一种方法来获取上一个 我可以使用全局变量或类似的变量吗 Angular rootScope将拥有所有应用程序组件的所有信息 下面在
  • 将儒略日转换为日/月/年

    我的帖子显然不清楚 所以我正在努力修复它 如果我仍然不清楚 请随时告诉我 我得到了一个物理变量的数据框 每分钟都有一个数据 我想将前 4 列转换为单个列 R 中的 d m Y H M GMT Year Julian day Hour Min
  • 如果 Visual Studio 2012 / 2013 中的项目/解决方案中缺少文件,则报告错误/警告

    视觉工作室不再支持宏 因此以下问题中的答案仅对以前的版本有效 如果 Visual Studio 中的项目 解决方案中缺少文件 则报告错误 警告 当您构建缺少文件的解决方案时 Visual Studio 2012 2013 是否可以报告错误
  • 在目标包含源的情况下使用 strncpy()

    我用 C 编写了一个函数来修剪字符串中的空白字符 我关心的是最后一行trim 下面的函数 其中源包含在目标中 测试用例以及其他一些测试结果都很好 复制源和目标位于同一内存中的字符串的全部或部分会导致奇怪的问题吗 源代码 include
  • ORM 学说中的 Substring_index 函数

    我必须使用SUBSTRING INDEXsymfony 2 中的学说 ORM 函数 我该怎么做 现在在查询中使用它会出现未定义的函数错误 Syntax Error line 0 col 299 Error Expected known fu
  • Django:模板中的嵌套变量

    在我的 django 登录模板之一中 有一行
  • 将 ImageData 对象(不是画布)转换为图像 dataURL

    我想从 ImageData 对象 即宽度 高度 数据 创建 dataURL 我意识到画布有这个 但我想避免扭曲画布使用 主要是alpha预乘 即我想避免明显的canvas putImageData步骤 From 这个帖子我可以将任何 arr
  • TensorFlow 图内复制示例

    我想在具有多个 ps 和工作线程的多 GPU 集群中试验 TensorFlow 的图内复制 这CIFAR 10 多 GPU 示例图中显示了单台机器上的同步复制 有没有可用的示例可供我参考 例如图间训练的示例训练程序 一般来说 对于分布式训练
  • 如何在 WSO2 Micro Integrator 中跳过 CSV 文件中的标题

    我正在使用 smooks mediator 使用 VFS 将 csv 文件转换为 json 我们可以选择在使用 CSV 连接器 模块时跳过标题行 使用 smooks 在 WSO2 Integration studio 中处理文件时如何跳过第
  • 如何获取每个外键的最小日期记录的记录 ID?

    我有下表 recordID createdDate ForeignKeyID 00QA000000PtFXaMAN 2012 01 03 13 23 36 000 001A000000ngM21IAE 00QA000000OS2QiMAL
  • REST Web api URL GET 使用字符串而不是 id 未按预期路由

    我有以下示例 其中请求是http domain api foo username 但我收到了 404 状态代码 此控制器上不存在其他 Get 操作 这不应该起作用吗 public class FooController ApiControl
  • 使用 Swift 进行水平滚动

    我怎样才能找到教程或其他东西来帮助我创建这样的东西可滚动的下图中使用 Swift 标记的区域 谢谢 None
  • 如何使用vbs或批处理脚本在特定时间关闭电脑

    我想要一个脚本放在启动文件夹中并且不使用任务计划程序 If time gt 22 00 hrs shutdown if startup after 10pm Shutdown s f break While time 22 00hrs lo