zoukankan      html  css  js  c++  java
  • 【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
  • 相关阅读:
    我爱java系列之---【微服务间的认证—Feign拦截器】
    我爱java系列之---【设置权限的三种解决方案】
    581. Shortest Unsorted Continuous Subarray
    129. Sum Root to Leaf Numbers
    513. Find Bottom Left Tree Value
    515. Find Largest Value in Each Tree Row
    155. Min Stack max stack Maxpop O(1) 操作
    painting house
    Minimum Adjustment Cost
    k Sum
  • 原文地址:https://www.cnblogs.com/mindzone/p/14289829.html
Copyright © 2011-2022 走看看