【问题标题】:Create a batch file to toggle control panel settings - "When I close the lid:" [closed]创建一个批处理文件来切换控制面板设置 - “当我合上盖子时:”[关闭]
【发布时间】:2020-07-02 00:52:09
【问题描述】:

当我将笔记本电脑 (Windows 10) 插入显示器时,我喜欢盖上盖子。我可以通过更改此 Q 底部快照中圈出的设置来做到这一点。当未插入显示器时,我更喜欢计算机在盖子关闭时进入睡眠状态。

有没有一种简单的方法可以通过批处理脚本更改这些设置?它不一定是切换;可以有一个脚本更改为“什么都不做”,一个脚本更改为“睡眠”。

【问题讨论】:

    标签: batch-file windows-10 sleep


    【解决方案1】:

    这是一个未经测试的示例脚本供您尝试:

    @"%__AppDir__%powercfg.exe" -SetDCValueIndex Scheme_Current 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 1
    @"%__AppDir__%powercfg.exe" -SetACValueIndex Scheme_Current 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 0
    @"%__AppDir__%powercfg.exe" -SetActive Scheme_Current
    

    第一个命令将current 电源配置When I close the lidOn battery 设置为Sleep。第二行将current 电源配置When I close the lidPlugged in 设置为Do nothing。第三行激活新设置。

    [编辑 /]

    根据您对 GUID 的评论,我决定添加以下答案,该答案使用它们的别名。 您可以通过在命令提示符处输入 "%__AppDir__%powercfg.exe" /Aliases 来找出这些别名及其各自的 GUID。

    @"%__AppDir__%powercfg.exe" -SetDCValueIndex Scheme_Current Sub_Buttons LidAction 1
    @"%__AppDir__%powercfg.exe" -SetACValueIndex Scheme_Current Sub_Buttons LidAction 0
    @"%__AppDir__%powercfg.exe" -SetActive Scheme_Current
    

    【讨论】:

    • 嘿,成功了,非常感谢!你如何找出这些命令,更奇怪的是,后面的晦涩(我假设是十六进制地址?)代码?我相信您将其与 AC 和 DC 混为一谈:AC(第一行)已插入,DC(第二行)由电池供电。
    • 感谢您发现我的错误,我通过更改代码顺序来纠正它,因为它比更改正文更快。顺便说一句,您实际上并不需要知道 GUID,因为别名也可以用于这些,请参阅我最新的 [Edit /]
    • 我可以为 Scheme_Current 使用一个变量吗?还是因为它更像一个枚举或常量而不是字符串。
    • @Timo,能否请您扩展您的评论,我需要您将其放入批处理文件任务的上下文中,以确定它是否是您应该作为新问题提出的单独问题,或者我可以在这个答案中加入一些东西。
    • 也许我应该问一个新问题,因为我的问题与 Powershell 相关,而不是 bat。我想知道我是否可以做$var=Scheme_Current; powercfg -SetDCValueIndex $var ..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    • 2017-08-02
    • 1970-01-01
    • 2017-02-22
    相关资源
    最近更新 更多