我现在的位置:

微知识 - 知识分享 - 电脑网络 - 操作系统
知识分享
  1. Window 7 如何设置自动重启、自动关机、延时启动程序、开机恢复注册表启动项为初始值等批处理操作?

    完善时间:2019-05-17 09:07:02会员:bekda目录:电脑网络 - 操作系统浏览:4198 次

    1、Windows 7 的 shutdown.exe 程序可实现操作系统自动重启与关机功能,具体用法可通过 shutdown /? 查看,具体用法如下:

    shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f] [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]
    
        没有参数   显示帮助。这与键入 /? 是一样的。
        /?         显示帮助。这与不键入任何选项是一样的。
        /i         显示图形用户界面(GUI)。
                   这必须是第一个选项。
        /l         注销。这不能与 /m 或 /d 选项一起使用。
        /s         关闭计算机。
        /r         关闭并重新启动计算机。
        /g         关闭并重新启动计算机。系统重新启动后,
                   重新启动所有注册的应用程序。
        /a         中止系统关闭。
                   这只能在超时期间使用。
        /p         关闭本地计算机,没有超时或警告。
                   可以与 /d 和 /f 选项一起使用。
        /h         休眠本地计算机。
                   可以与 /f 选项一起使用。
        /e         记录计算机意外关闭的原因。
        /m \\computer 指定目标计算机。
        /t xxx     设置关闭前的超时为 xxx 秒。
                   有效范围是 0-315360000 (10 年),默认值为 30。
                   如果超时时间大于 0,则默示 /f
                   参数。
        /c "comment" 重启动或关闭的原因的注释。
                   最多允许 512 个字符。
        /f         强制正在运行的应用程序关闭,不前台警告用户。
                   当为 /t 参数指定大于 0 的值时,
                   则默示 /f 参数。
        /d [p|u:]xx:yy  提供重新启动或关机的原因。
                   p 表明重新启动或关闭是计划内的。
                   u 表示原因由用户定义。
                   如果 p 和 u 均未指定,则是计划外重新启动
                   或关闭。
                   xx 是主要原因号(小于 256 的正整数)。
                   yy 是次要原因号(小于 65536 的正整数)。
    eg:shutdown命令应用举例:
    AT 14:00 shutdown -r -f -c "14:00重启"
    AT 19:00 shutdown -s -f -c "19:00关机"


    2、开机延时启动程序可通过ping 命令进行延时,用法举例:

    REM 延时15秒执行程序
    ping 127.0.0.1 -n 15 >nul
    start D:\test.exe
    ping 时间精度为1秒,也可使用choice 命令,用法举例:
    REM 延时15秒执行程序
    choice /t 15 /d y /n > nul 
    start D:\test.exe
    choice命令Windows 7及以上系统已内置,Windows XP需手动拷贝到:%windir%\System32\ 目录下使用。


    3、开机启动程序可通过start 命令启动一个单独的窗口运行指定的程序或命令。具体用法可通过 start /? 命令查看:

    START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
          [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
          [/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
          [command/program] [parameters]
    
        "title"     在窗口标题栏中显示的标题。
        path        启动目录。
        B           启动应用程序,但不创建新窗口。应用程序已忽略 ^C 处理。
                    除非应用程序启用 ^C 处理,否则 ^Break 是唯一可以中断
                    该应用程序的方式。
        I           新的环境将是传递给 cmd.exe 的原始环境,而不是当前环境。
    
        MIN         以最小化方式启动窗口。
        MAX         以最大化方式启动窗口。
        SEPARATE    在单独的内存空间中启动 16 位 Windows 程序。
        SHARED      在共享内存空间中启动 16 位 Windows 程序。
        LOW         在 IDLE 优先级类中启动应用程序。
        NORMAL      在 NORMAL 优先级类中启动应用程序。
        HIGH        在 HIGH 优先级类中启动应用程序。
        REALTIME    在 REALTIME 优先级类中启动应用程序。
        ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应用程序。
        BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应用程序。
        NODE        将首选非一致性内存结构 (NUMA) 节点指定为十进制整数。
        AFFINITY    将处理器关联掩码指定为十六进制数字。进程被限制在这些
                    处理器上运行。
    
                    当 /AFFINITY 和 /NODE 结合时,会对关联掩码进行不同的解释。
                    指定关联掩码,正如 NUMA 节点的处理器掩码正确移动到零位
                    起始位置一样。进程被限制在指定关联掩码和 NUMA 节点之间的
                    那些通用处理器上运行。如果没有通用处理器,则进程被限制在
                    指定的 NUMA 节点上运行。
        WAIT        启动应用程序并等待它终止。
        command/program
                    如果它是内部 cmd 命令或批文件,则该命令处理器是使用
                    cmd.exe 的 /K 开关运行的。这表示运行该命令之后,该窗口
                    将仍然存在。
    
                    如果它不是内部 cmd 命令或批文件,则它就是一个程序,并将
                    作为一个窗口化应用程序或控制台应用程序运行。
    
        parameters  这些是传递给 command/program 的参数。
    
    注意: 在 64 位平台上不支持 SEPARATE 和 SHARED 选项。
    eg:start 命令应用举例:
    REM 在记优先级中、以最小化方式启动test.ext程序
    start D:\test.exe /MIN /HIGH


    4、恢复注册表启动项为初始值,可将注册表操作写入指定的dll文件,注册完成再删除dll文件,执行此步骤需将相关批处理文件加入白名单,以防被防护软件误判,综合应用举例:

    @echo off &title 加载程序…
    mode con cols=30 lines=4
    echo 正在加载程序,请勿关闭……
    
    REM 延时15秒执行程序
    ping 127.0.0.1 -n 15 >nul
    start D:\test.exe
    
    REM 删除所有计划并新建重启计划
    AT /delete /yes
    AT 14:00 shutdown -r -f -c "系统正在重启,请稍候……"
    AT 19:00 shutdown -s -f -c "系统正在关机,请稍候……"
    
    REM 延时5秒执行清理
    ping 127.0.0.1 -n 5 >nul
    
    REM 恢复启动项为初始值(将操作写入patch.dll并执行,完成后删除)
    @echo Windows Registry Editor Version 5.00 >>patch.dll
    @echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >>patch.dll
    @echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >>patch.dll
    @echo "BOOT"="C:\\WINDOWS\\Boot.BAT" >>patch.dll
    @regedit /s patch.dll
    @del patch.dll
    使用方法:将以上文件拷贝到记事本,并将文件名及扩展名重新命名为:Boot.BAT,将文件拷贝到:C:\WINDOWS\下运行一次即可。


    *注册表启动项需根据实际情况进行增减,具体可运行:regedit.exe,展开到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 主键查看,保险起见,建议将Run注册表项导出备份。


    相关知识:

    1、Windows 7 如何设置能让安装程序在执行前必须输入密码才能安装?

    2、如何限制Windows 7操作系统只运行指定的应用程序。

联系方式:

南京贝加达电子科技有限公司

  • 地址:南京市江北新区柳州北路21号涤太太科技大楼2F
  • 联系人:焦倩华(先生)
  • 手机:13813916308
  • 邮箱:Ser@bekda.com
  • 服务专线:400-8282-116
©2010-2024 Bekda Electronic Technology Co., Ltd. All right reserved.

苏公网安备 32011102010041号

320111201705278429

苏ICP备12027725号