• 【Dos-BatchPrograming】02


    学习参考:

    https://www.bilibili.com/video/BV1Qv411q7bN?p=2

    ——1、算数运算

    使用Windows终端进行运算操作时需要声明对应的命令:

    set /a 运算表达式

    例子:

    Microsoft Windows [版本 10.0.19041.746]
    (c) 2020 Microsoft Corporation. 保留所有权利。
    
    C:UsersAdministrator>set /a 1 + 11
    12
    C:UsersAdministrator>

    加减乘除无需多言,这是在命令模式下的写法

    在bat脚本中有一些变化,例如我们需要把运算的结果存储在一个变量中

    如果要终端输出变量I,就需要在两边用%修饰,

    @echo off
    set /a i = 10 + 25
    echo %i%
    pause

    ——2、重定向运算

    重新写入 >

    output command > file

    追加写入 >>

    output command >> file

    查看文件内容 type

    type text-file

    逆向重新写入 <

    逆向追加写入 <<


    ——3、&& 连并执行

    commandA && commandB && ... 

    &&可以将多个命令合并成一个命令按照连并的顺序依次执行,执行的前提是这些命令都是正确的

    如果第一个命令执行正确,才会执行后面的命令,知道某一个命令出错,执行将停止

    同理使用 | | 将命令连并也是可以的

    commandA || commandB || ...

    ——4、| 管道

    将管道符号左边的命令的输出结果,作为管道符号右边的命令的输入参数

    output commandA | commandB(need some param, from commandA)

    样例:

    D:apache-tomcat-9.0.37in>dir
     驱动器 D 中的卷没有标签。
     卷的序列号是 E873-8323
    
     D:apache-tomcat-9.0.37bin 的目录
    
    11/11/2020  10:57 PM    <DIR>          .
    11/11/2020  10:57 PM    <DIR>          ..
    06/30/2020  09:11 PM            35,926 bootstrap.jar
    06/30/2020  09:11 PM             1,703 catalina-tasks.xml
    06/30/2020  09:11 PM            16,608 catalina.bat
    06/30/2020  09:12 PM            25,245 catalina.sh
    06/30/2020  09:11 PM             2,123 ciphers.bat
    06/30/2020  09:12 PM             1,997 ciphers.sh
    06/30/2020  09:11 PM            25,197 commons-daemon.jar
    06/30/2020  09:11 PM             2,040 configtest.bat
    06/30/2020  09:12 PM             1,922 configtest.sh
    06/30/2020  09:12 PM             9,100 daemon.sh
    06/30/2020  09:11 PM             2,091 digest.bat
    06/30/2020  09:12 PM             1,965 digest.sh
    06/30/2020  09:11 PM             3,606 makebase.bat
    06/30/2020  09:12 PM             3,382 makebase.sh
    06/30/2020  09:11 PM             8,842 service.bat
    06/30/2020  09:11 PM             3,460 setclasspath.bat
    06/30/2020  09:12 PM             3,708 setclasspath.sh
    06/30/2020  09:11 PM             2,020 shutdown.bat
    06/30/2020  09:12 PM             1,902 shutdown.sh
    06/30/2020  09:11 PM             2,022 startup.bat
    06/30/2020  09:12 PM             1,904 startup.sh
    06/30/2020  09:12 PM         2,601,984 tcnative-1.dll
    06/30/2020  09:11 PM            49,301 tomcat-juli.jar
    06/30/2020  09:12 PM           124,024 tomcat9.exe
    06/30/2020  09:12 PM           120,952 tomcat9w.exe
    06/30/2020  09:11 PM             4,574 tool-wrapper.bat
    06/30/2020  09:12 PM             5,540 tool-wrapper.sh
    06/30/2020  09:11 PM             2,026 version.bat
    06/30/2020  09:12 PM             1,908 version.sh
                  29 个文件      3,067,072 字节
                   2 个目录 863,565,778,944 可用字节
    
    D:apache-tomcat-9.0.37in>dir | find ".bat"
    06/30/2020  09:11 PM            16,608 catalina.bat
    06/30/2020  09:11 PM             2,123 ciphers.bat
    06/30/2020  09:11 PM             2,040 configtest.bat
    06/30/2020  09:11 PM             2,091 digest.bat
    06/30/2020  09:11 PM             3,606 makebase.bat
    06/30/2020  09:11 PM             8,842 service.bat
    06/30/2020  09:11 PM             3,460 setclasspath.bat
    06/30/2020  09:11 PM             2,020 shutdown.bat
    06/30/2020  09:11 PM             2,022 startup.bat
    06/30/2020  09:11 PM             4,574 tool-wrapper.bat
    06/30/2020  09:11 PM             2,026 version.bat
    
    D:apache-tomcat-9.0.37in>

    ——5、命令格式

    main-command sub-command param operate
    主命令 子命令 参数 操作

    查看命令的相关信息

    command /?
    或者
    command /help

    例子:

    D:apache-tomcat-9.0.37in>net /?
    此命令的语法是:
    
    NET
        [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |
          HELPMSG | LOCALGROUP | PAUSE | SESSION | SHARE | START |
          STATISTICS | STOP | TIME | USE | USER | VIEW ]
    
    D:apache-tomcat-9.0.37in>

    我们可以看到上面列举一系列的子命令,根据需要配合主命令使用

    例如:

    D:apache-tomcat-9.0.37in>net user
    
    \DESKTOP-6LUD84V 的用户帐户
    
    -------------------------------------------------------------------------------
    Administrator            DefaultAccount           Guest
    User                     WDAGUtilityAccount
    命令成功完成。
    
    
    D:apache-tomcat-9.0.37in>

    ——6、Bat脚本参数传递

    bat脚本使用%n作为外部参数的传递

    n表示 1 ~ n 个参数不等

    样例:

    @echo off
    echo first param is %1
    echo second param is %2
    pause

    使用双击执行该脚本并不会报错,我们没有按照bat脚本要求注入两参数

    则echo输出没有参数。

    first param is
    second param is
    请按任意键继续. . .

    如果更改为直接打印参数:

    @echo off
    echo %1
    echo %2
    pause

    echo命令会因为没有可输出的内容,直接结束功能

    ECHO 处于关闭状态。
    ECHO 处于关闭状态。
    请按任意键继续. . .

    ——7、时间相关

    命令date和time可以查看日期和时间,或者进行更改:

    Microsoft Windows [版本 10.0.19041.746]
    (c) 2020 Microsoft Corporation. 保留所有权利。
    
    C:UsersAdministrator>date /?
    显示或设置日期。
    
    DATE [/T | date]
    
    显示当前日期设置和输入新日期的提示,请键入
    不带参数的 DATE。要保留现有日期,请按 Enter。
    
    如果命令扩展被启用,DATE 命令会支持 /T 开关;
    该开关指示命令只输出当前日期,但不提示输入新日期。
    
    C:UsersAdministrator>

    查看日期:

    C:UsersAdministrator>date /t
    2021/01/18 周一
    
    C:UsersAdministrator>

    查看时间:

    C:UsersAdministrator>time /t
    14:27
    
    C:UsersAdministrator>

    设置新的日期与时间:

    可以结合管道命令,把前一个命令输出的结果处理成日期或者时间赋值给这个命令

    C:UsersAdministrator>date
    当前日期: 2021/01/18 周一
    输入新日期: (年月日)
    C:UsersAdministrator>time
    当前时间: 14:28:31.28
    输入新时间:
    C:UsersAdministrator>

    ——8、START 启动器

    C:UsersAdministrator>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 选项。
    
    通过指定 /NODE,可按照利用 NUMA 系统中的内存区域的方式
    创建进程。例如,可以创建两个完全
    通过共享内存互相通信的进程以共享相同的首选 NUMA 节点,
    从而最大限度地减少内存延迟。只要有可能,
    它们就会分配来自相同 NUMA 节点的
    内存,并且会在指定节点之外的处理器上自由运行。
    
        start /NODE 1 application1.exe
        start /NODE 1 application2.exe
    
    这两个进程可被进一步限制在相同 NUMA 节点内的指定处理器
    上运行。在以下示例中,application1 在
    节点的两个低位处理器上运行,而 application2
    在该节点的其后两个处理器上运行。该示例假定指定节点至少具有四个逻辑处理器。请注意,节点号可更改为该计算机的任何有效节点号,
    而无需更改关联掩码。
    
        start /NODE 1 /AFFINITY 0x3 application1.exe
        启动 /NODE 1 /AFFINITY 0xc application2.exe
    
    如果命令扩展被启用,通过命令行或 START 命令的外部命令
    调用会如下改变:
    
    将文件名作为命令键入,非可执行文件可以通过文件关联调用。
        (例如,WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)。
        关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和
         FTYPE 命令。
    
    执行的应用程序是 32 位 GUI 应用程序时,CMD.EXE 不等应用
        程序终止就返回命令提示符。如果在命令脚本内执行,该新行为
        则不会发生。
    
    如果执行的命令行的第一个符号是不带扩展名或路径修饰符的
        字符串 "CMD","CMD" 会被 COMSPEC 变量的数值所替换。这
        防止从当前目录提取 CMD.EXE。
    
    如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用
        PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展
        名。PATHEXT 变量的默认值是:
    
            .COM;.EXE;.BAT;.CMD
    
        请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。
    
    查找可执行文件时,如果没有相配的扩展名,看一看该名称是否
    与目录名相配。如果确实如此,START 会在那个路径上调用
    Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。
    
    C:UsersAdministrator>

    ——9、CALL 调用其他bat程序

    C:UsersAdministrator>call /?
    从批处理程序调用另一个批处理程序。
    
    CALL [drive:][path]filename [batch-parameters]
    
      batch-parameters   指定批处理程序所需的命令行信息。
    
    如果命令扩展被启用,CALL 会如下改变:
    
    CALL 命令现在将卷标当作 CALL 的目标接受。语法是:
    
        CALL:label arguments
    
    一个新的批文件上下文由指定的参数所创建,控制在卷标被指定
    后传递到语句。你必须通过达到批脚本文件末两次来 "exit" 两次。
    第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次
    会退出批脚本。键入 GOTO /?,参看 GOTO :EOF 扩展的描述,
    此描述允许你从一个批脚本返回。
    
    另外,批脚本文本参数参照(%0%1、等等)已如下改变:
    
    
         批脚本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)
    
         批参数(%n)的替代已被增强。你可以使用以下语法:
    
             %~1         - 删除引号("),扩展 %1
             %~f1        - 将 %1 扩展到一个完全合格的路径名
             %~d1        - 仅将 %1 扩展到一个驱动器号
             %~p1        - 仅将 %1 扩展到一个路径
             %~n1        - 仅将 %1 扩展到一个文件名
             %~x1        - 仅将 %1 扩展到一个文件扩展名
             %~s1        - 扩展的路径只含有短名
             %~a1        - 将 %1 扩展到文件属性
             %~t1        - 将 %1 扩展到文件的日期/时间
             %~z1        - 将 %1 扩展到文件的大小
             %~$PATH:1   - 查找列在 PATH 环境变量的目录,并将 %1
                           扩展到找到的第一个完全合格的名称。如果
                           环境变量名未被定义,或者没有找到文件,
                           此修改符会扩展到空字符串
    
        可以组合修改符来取得多重结果:
    
            %~dp1       - 只将 %1 扩展到驱动器号和路径
            %~nx1       - 只将 %1 扩展到文件名和扩展名
            %~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,
                          并扩展到找到的第一个文件的驱动器号和路径。
            %~ftza1     - 将 %1 扩展到类似 DIR 的输出行。
    
        在上面的例子中,%1 和 PATH 可以被其他有效数值替换。
        %~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %*
        使用
    
    C:UsersAdministrator>

    ——10、TASKLIST 任务列表查看

    C:UsersAdministrator>TASKLIST
    
    映像名称                       PID 会话名              会话#       内存使用
    ========================= ======== ================ =========== ============
    System Idle Process              0 Services                   0          8 K
    System                           4 Services                   0      6,640 K
    Registry                       148 Services                   0     49,472 K
    smss.exe                       504 Services                   0        580 K
    csrss.exe                      860 Services                   0      2,432 K
    wininit.exe                    960 Services                   0      3,124 K
    services.exe                   100 Services                   0      6,660 K
    lsass.exe                     1032 Services                   0     17,332 K
    svchost.exe                   1160 Services                   0     25,776 K
    fontdrvhost.exe               1192 Services                   0        104 K

    命令帮助:

    C:UsersAdministrator>tasklist /?
    
    TASKLIST [/S system [/U username [/P [password]]]]
             [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
    
    描述:
        该工具显示在本地或远程机器上当前运行的进程列表。
    
    
    参数列表:
       /S     system           指定连接到的远程系统。
    
       /U     [domain]user    指定应该在哪个用户上下文执行这个命令。
    
       /P     [password]       为提供的用户上下文指定密码。如果省略,则
                               提示输入。
    
       /M     [module]         列出当前使用所给 exe/dll 名称的所有任务。
                               如果没有指定模块名称,显示所有加载的模块。
    
       /SVC                    显示每个进程中主持的服务。
    
       /APPS 显示 Microsoft Store 应用及其关联的进程。
    
       /V                      显示详细任务信息。
    
       /FI    filter           显示一系列符合筛选器
                               指定条件的任务。
    
       /FO    format           指定输出格式。
                               有效值: "TABLE"、"LIST"、"CSV"/NH                     指定列标题不应该
                               在输出中显示。
                               只对 "TABLE" 和 "CSV" 格式有效。
    
       /?                      显示此帮助消息。
    
    筛选器:
        筛选器名称     有效运算符           有效值
        -----------     ---------------           --------------------------
        STATUS          eq, ne                    RUNNING | SUSPENDED
                                                  NOT RESPONDING | UNKNOWN
        IMAGENAME       eq, ne                    映像名称
        PID             eq, ne, gt, lt, ge, le    PID 值
        SESSION         eq, ne, gt, lt, ge, le    会话编号
        SESSIONNAME     eq, ne                    会话名称
        CPUTIME         eq, ne, gt, lt, ge, le    CPU 时间,格式为
                                                  hh:mm:ss。
                                                  hh - 小时,
                                                  mm - 分钟,ss - 秒
        MEMUSAGE        eq, ne, gt, lt, ge, le    内存使用(以 KB 为单位)
        USERNAME        eq, ne                    用户名,格式为
                                                  [域]用户
        SERVICES        eq, ne                    服务名称
        WINDOWTITLE     eq, ne                    窗口标题
        模块         eq, ne                    DLL 名称
    
    注意: 当查询远程计算机时,不支持 "WINDOWTITLE" 和 "STATUS"
          筛选器。
    
    Examples:
        TASKLIST
        TASKLIST /M
        TASKLIST /V /FO CSV
        TASKLIST /SVC /FO LIST
        TASKLIST /APPS /FI "STATUS eq RUNNING"
        TASKLIST /M wbem*
        TASKLIST /S system /FO LIST
        TASKLIST /S system /U 域用户名 /FO CSV /NH
        TASKLIST /S system /U username /P password /FO TABLE /NH
        TASKLIST /FI "USERNAME ne NT AUTHORITYSYSTEM" /FI "STATUS eq running"
    
    C:UsersAdministrator>

    该命令还可以访问远程windows主机查看远程主机的任务列表

    tasklist /S 远程主机IP地址 /U 用户名 /P 密码

    展示的列表结果时那一时刻系统正在进行的任务,因此不是动态更新的


    ——11、TASKKILL 结束进程

    C:UsersAdministrator>TASKKILL /?
    
    TASKKILL [/S system [/U username [/P [password]]]]
             { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
    
    描述:
        使用该工具按照进程 ID (PID) 或映像名称终止任务。
    
    参数列表:
        /S    system           指定要连接的远程系统。
    
        /U    [domain]user    指定应该在哪个用户上下文执行这个命令。
    
        /P    [password]       为提供的用户上下文指定密码。如果忽略,提示
                               输入。
    
        /FI   filter           应用筛选器以选择一组任务。
                               允许使用 "*"。例如,映像名称 eq acme*
    
        /PID  processid        指定要终止的进程的 PID。
                               使用 TaskList 取得 PID。
    
        /IM   imagename        指定要终止的进程的映像名称。通配符 '*'可用来
                               指定所有任务或映像名称/T                     终止指定的进程和由它启用的子进程。
    
        /F                     指定强制终止进程。
    
        /?                     显示帮助消息。
    
    筛选器:
        筛选器名      有效运算符                有效值
        -----------   ---------------           -------------------------
        STATUS        eq, ne                    RUNNING |
                                                NOT RESPONDING | UNKNOWN
        IMAGENAME     eq, ne                    映像名称
        PID           eq, ne, gt, lt, ge, le    PID 值
        SESSION       eq, ne, gt, lt, ge, le    会话编号。
        CPUTIME       eq, ne, gt, lt, ge, le    CPU 时间,格式为
                                                hh:mm:ss。
                                                hh - 时,
                                                mm - 分,ss - 秒
        MEMUSAGE      eq, ne, gt, lt, ge, le    内存使用量,单位为 KB
        USERNAME      eq, ne                    用户名,格式为 [domain]user
        MODULES       eq, ne                    DLL 名称
        SERVICES      eq, ne                    服务名称
        WINDOWTITLE   eq, ne                    窗口标题
    
        说明
        ----
        1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'。
        2) 远程进程总是要强行 (/F) 终止。
        3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。
    
    例如:
        TASKKILL /IM notepad.exe
        TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
        TASKKILL /F /IM cmd.exe /T
        TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
        TASKKILL /F /FI "USERNAME eq NT AUTHORITYSYSTEM" /IM notepad.exe
        TASKKILL /S system /U 域用户名 /FI "用户名 ne NT*" /IM *
        TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
    
    C:UsersAdministrator>

    主要的用法是先用tasklist进行查找,然后使用PID或者IM两种办法结束进程

    taskkill /pid 进程ID
    或者
    taskill /im 进程的映像名称

    同样的,taskkill也可以向远程windows主机上发送此命令,还可以使用/FI进行进程过滤

    taskill /s 远程主机IP地址 /u 用户名 /p 密码 /fi "自定义过滤条件"

    条件例如上面所述:

    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"

    ——12、TREE 目录结构:

    Microsoft Windows [版本 10.0.19041.746]
    (c) 2020 Microsoft Corporation. 保留所有权利。
    
    C:UsersAdministrator>tree /?
    以图形显示驱动器或路径的文件夹结构。
    
    TREE [drive:][path] [/F] [/A]
    
       /F   显示每个文件夹中文件的名称/A   使用 ASCII 字符,而不使用扩展字符。
    
    
    C:UsersAdministrator>

    直接输入tree会输出电脑整个的目录结构,以至于突破了终端的输出缓冲流

    我们可以把输出的内容写入文本文件中进行查阅:

    @echo off
    tree C: > c-disk-tree.txt
    pause

    ——13、SHUTDOWN 关机命令

    Microsoft Windows [版本 10.0.19041.746]
    (c) 2020 Microsoft Corporation. 保留所有权利。
    
    C:UsersAdministrator>shutdown /?
    用法: shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f]
        [/m \computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]
    
        没有参数   显示帮助。这与键入 /? 是一样的。
        /?         显示帮助。这与不键入任何选项是一样的。
        /i         显示图形用户界面(GUI)。
                   这必须是第一个选项。
        /l         注销。这不能与 /m 或 /d 选项一起使用。
        /s         关闭计算机/sg        关闭计算机。在下一次启动时,如果启用了
                   自动重启登录,则将自动登录并锁定上次交互用户。
                   登录后,重启任何已注册的应用程序。
        /r         完全关闭并重启计算机/g         完全关闭并重启计算机。重新启动系统后,
                   如果启用了自动重启登录,则将自动登录并
                   锁定上次交互用户。
                   登录后,重启任何已注册的应用程序。
        /a         中止系统关闭。
                   这只能在超时期间使用。
                   与 /fw 结合使用,以清除任何未完成的至固件的引导。
        /p         关闭本地计算机,没有超时或警告。
                   可以与 /d 和 /f 选项一起使用。
        /h         休眠本地计算机。
                   可以与 /f 选项一起使用。
        /hybrid    执行计算机关闭并进行准备以快速启动。
                   必须与 /s 选项一起使用。
        /fw        与关闭选项结合使用,使下次启动转到
                   固件用户界面。
        /e         记录计算机意外关闭的原因。
        /o         转到高级启动选项菜单并重新启动计算机。
                   必须与 /r 选项一起使用。
        /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 的正整数)。
    
    此计算机上的原因:
    (E = 预期 U = 意外 P = 计划内,C = 自定义)
    类别    主要    次要    标题
    
     U      0       0       其他(计划外)
    E       0       0       其他(计划外)
    E P     0       0       其他(计划内)
     U      0       5       其他故障: 系统没有反应
    E       1       1       硬件: 维护(计划外)
    E P     1       1       硬件: 维护(计划内)
    E       1       2       硬件: 安装(计划外)
    E P     1       2       硬件: 安装(计划内)
    E       2       2       操作系统: 恢复(计划外)
    E P     2       2       操作系统: 恢复(计划内)
      P     2       3       操作系统: 升级(计划内)
    E       2       4       操作系统: 重新配置(计划外)
    E P     2       4       操作系统: 重新配置(计划内)
      P     2       16      操作系统: Service Pack (计划内)
            2       17      操作系统: 热修补(计划外)
      P     2       17      操作系统: 热修补(计划内)
            2       18      操作系统: 安全修补(计划外)
      P     2       18      操作系统: 安全修补(计划内)
    E       4       1       应用程序: 维护(计划外)
    E P     4       1       应用程序: 维护(计划内)
    E P     4       2       应用程序: 安装(计划内)
    E       4       5       应用程序: 没有反应
    E       4       6       应用程序: 不稳定
     U      5       15      系统故障: 停止错误
     U      5       19      安全问题(计划外)
    E       5       19      安全问题(计划外)
    E P     5       19      安全问题(计划内)
    E       5       20      网络连接丢失(计划外)
     U      6       11      电源故障: 电线被拔掉
     U      6       12      电源故障: 环境
      P     7       0       旧版 API 关机
    
    C:UsersAdministrator>

    执行远程主机的关机命令操作:

    Microsoft Windows [版本 10.0.19041.746]
    (c) 2020 Microsoft Corporation. 保留所有权利。
    
    C:UsersAdministrator>shutdown /i

    执行后提供GUI界面进行操作:

    直接关闭计算机:

    shutdown /s

    完全关闭计算机并重新启动

    shutdown /r

    中止关机执行:

    shutdown /a
  • 相关阅读:
    常用源代码管理工具与开发工具
    项目发布
    学期总结
    个人博客
    个人博客
    阅读笔记6
    阅读笔记5
    阅读笔记4
    团队代码
    团队代码
  • 原文地址:https://www.cnblogs.com/mindzone/p/14289829.html
Copyright © 2020-2023  润新知