【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:\Users\Administrator>set /a 1 + 11 12 C:\Users\Administrator>
加减乘除无需多言,这是在命令模式下的写法
在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.37\bin>dir 驱动器 D 中的卷没有标签。 卷的序列号是 E873-8323 D:\apache-tomcat-9.0.37\bin 的目录 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.37\bin>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.37\bin>
——5、命令格式
main-command sub-command param operate 主命令 子命令 参数 操作
查看命令的相关信息
command /? 或者 command /help
例子:
D:\apache-tomcat-9.0.37\bin>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.37\bin>
我们可以看到上面列举一系列的子命令,根据需要配合主命令使用
例如:
D:\apache-tomcat-9.0.37\bin>net user \\DESKTOP-6LUD84V 的用户帐户 ------------------------------------------------------------------------------- Administrator DefaultAccount Guest User WDAGUtilityAccount 命令成功完成。 D:\apache-tomcat-9.0.37\bin>
——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:\Users\Administrator>date /? 显示或设置日期。 DATE [/T | date] 显示当前日期设置和输入新日期的提示,请键入 不带参数的 DATE。要保留现有日期,请按 Enter。 如果命令扩展被启用,DATE 命令会支持 /T 开关; 该开关指示命令只输出当前日期,但不提示输入新日期。 C:\Users\Administrator>
查看日期:
C:\Users\Administrator>date /t 2021/01/18 周一 C:\Users\Administrator>
查看时间:
C:\Users\Administrator>time /t 14:27 C:\Users\Administrator>
设置新的日期与时间:
可以结合管道命令,把前一个命令输出的结果处理成日期或者时间赋值给这个命令
C:\Users\Administrator>date 当前日期: 2021/01/18 周一 输入新日期: (年月日) C:\Users\Administrator>time 当前时间: 14:28:31.28 输入新时间: C:\Users\Administrator>
——8、START 启动器
C:\Users\Administrator>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:\Users\Administrator>
——9、CALL 调用其他bat程序
C:\Users\Administrator>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:\Users\Administrator>
——10、TASKLIST 任务列表查看
C:\Users\Administrator>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:\Users\Administrator>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 AUTHORITY\SYSTEM" /FI "STATUS eq running" C:\Users\Administrator>
该命令还可以访问远程windows主机查看远程主机的任务列表
tasklist /S 远程主机IP地址 /U 用户名 /P 密码
展示的列表结果时那一时刻系统正在进行的任务,因此不是动态更新的
——11、TASKKILL 结束进程
C:\Users\Administrator>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 AUTHORITY\SYSTEM" /IM notepad.exe TASKKILL /S system /U 域\用户名 /FI "用户名 ne NT*" /IM * TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*" C:\Users\Administrator>
主要的用法是先用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:\Users\Administrator>tree /? 以图形显示驱动器或路径的文件夹结构。 TREE [drive:][path] [/F] [/A] /F 显示每个文件夹中文件的名称。 /A 使用 ASCII 字符,而不使用扩展字符。 C:\Users\Administrator>
直接输入tree会输出电脑整个的目录结构,以至于突破了终端的输出缓冲流
我们可以把输出的内容写入文本文件中进行查阅:
@echo off tree C:\ > c-disk-tree.txt pause
——13、SHUTDOWN 关机命令
Microsoft Windows [版本 10.0.19041.746] (c) 2020 Microsoft Corporation. 保留所有权利。 C:\Users\Administrator>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:\Users\Administrator>
执行远程主机的关机命令操作:
Microsoft Windows [版本 10.0.19041.746] (c) 2020 Microsoft Corporation. 保留所有权利。 C:\Users\Administrator>shutdown /i
执行后提供GUI界面进行操作:
直接关闭计算机:
shutdown /s
完全关闭计算机并重新启动
shutdown /r
中止关机执行:
shutdown /a