Dos命令详细使用规则(大全)

文章目录

1、常用快捷键

Ctrl + C 复制

Ctrl + V 粘贴

Ctrl + Z 撤销

Ctrl + S 保存

Ctrl + A 全选

Ctrl + X 剪切

Ctrl + F4 关闭当前窗口

Shift + Delete 永久删除

Win + R 输入 cmd 打开控制面板

Win + E 打开文件资源管理器

Win + Tab 切换应用程序

Win + Shift + Esc 进入任务管理器

2、Dos命令总概

2.1、打开CMD的方式

  1. 开始 + Windows系统 + 命令提示符
  2. Win键盘 + R 输入 cmd 打开控制台
  3. 在任意文件夹下,按住 Shift 键 + 鼠标右键点击,选择在此处打开Powershell窗口
  4. 打开任意文件夹,在资源管理器的地址栏前加上 cmd (注意: cmd + 空格 + 文件路径)
  5. 以管理员方式运行,开始 + Windows系统 + 命令提示符 + 右键选择“更多” + 点击“以管理员身份运行”(最高权限)

2.2、cmd窗口下常见快捷键

  1. ↑ ↓ 键,可快速选择历史命令

  2. F1,按F1一次,命令提示符向后切换到已经执行过的命令字符。如果已经是最后一条命令,则不进行任何切换操作

  3. F2,按下后提示“输入可复制的字符数量”,此时直接按下上次输入命令中包含的字符(区分大小写)后命令提示符将自动输入到按键字符之前的上次输入的命令字符。

    例子:之前输入dir,按F2再输入r,则自动补全di

  4. F3,自动输入上次执行过的命令。如已经输入一些字符,按键后自动输入剩余字符

  5. F4,按下后提示“输入可删除的字符数量”,按下字符后则删除光标位置字符到按下字符之间的字符串。若按下字符不包含以前的字符则不执行操作并关闭提示窗口。

  6. F5,按下自动切换到已经执行过的命令字符

  7. F6,快速输入原本需要按 Ctrl + Z 键的字符~Z,这主要用于debug中。

  8. F7 ,可查看全部历史命令,↑ ↓键翻页,→ 键选择,或直接Enter执行

  9. F8,与F5几乎一样,但命令可滚动选择

  10. F9,与F7配合使用。F7中选择的命令是有编号的,按下F9再输入命令的编号,就能快速执行命令

  11. Alt + F7 , 清除所有曾经输入命令的记录

  12. Tab , 自动补充当前文件夹名称,与 cd 配合可快速进入子目录

  13. Esc , 清除当前命令行

  14. pause,暂停

  15. Ctrl + C , 强行终止命令执行,若需要复制粘贴,则右键点击标记内容,右键选中,在输入行点击右键完成粘贴

  16. Alt + PrintScr ,截取屏幕上当前命令窗里的内容

  17. Ctrl + H 删除光标左边的一个字符

  18. Ctrl + M 表示回车确认键

  19. Ctrl + Break 查看统计信息并按回车继续操作

  20. 输入 exit ,退出窗口

小技巧

  1. 点击左上角黑色图表,可以对字体、颜色、窗口布局进行设置。
  2. 文件路径可以直接拖拽文件生成
  3. 输入一部分路径,按Tab键,可以在可选的文件见切换选择

2.3、Dos常见命令工具

  1. calc 打开计算机calculate
  2. mspaint 打开画图工具
  3. notepad 新建记事本
  4. regedit 注册表
  5. mstsc 远程连接
  6. taskmgr 任务管理器
  7. snippingtool 截图工具
  8. clipbrd 剪贴簿查看器
  9. devmgmt.msc 设备管理器
  10. control desktop(desk.cpl) 显示属性
  11. inetcpl.cpl Internet属性
  12. ipconfig /all IP配置实用程序(显示连接配置)
  13. ipconfig /displaydns IP配置实用程序(显示DNS缓存内容)
  14. ipconfig /flushdns IP配置实用程序(删除DNS缓存内容)
  15. ipconfig /release IP配置实用程序(释放全部(或指定)适配器的由DHCP分配的动态IP地址)
  16. ipconfig /renew IP配置实用程序(为全部适配器重新分配IP地址)
  17. ipconfig /registerdns IP配置实用程序(刷新 DHCP 并重新注册DNS)
  18. ipconfig /showclassid IP配置实用程序(显示 DHCP Class ID)
  19. ipconfig /setclassid IP配置实用程序(修改 DHCP Class ID)
  20. jpicpl32.cpl Java控制面板(如果已经安装)
  21. secpol.msc 本地安全设置
  22. logoff 从Windows注销
  23. control netconnections(ncpa.cpl) 网络连接
  24. wscui.cpi Windows安全中心
  25. services.msc 服务
  26. fsmgmt.msc 共享文件夹
  27. mmsys.cpl 声音和音频设备属性
  28. msconfig 系统配置实用程序
  29. taskmgr 任务管理器

2.4、Dos其他命令

  1. shutdown 关机命令

    shutdown -s 自动关机

    shutdown -r 关机并重启

    shutdown -a 可取消定时关机

    shutdown -s -t 60 60秒后自动关机

    shutdown -r -t 60 60秒后自动重启

  2. services.msc 本地服务设置

  3. control 控制面板

  4. write 写字板

  5. explorer 资源管理器

  6. Firewall.cpl Windows防火墙

  7. cleanmgr 磁盘清理工具

  8. winver 关于Windows

  9. chkdsk 磁盘检查

  10. educedit 造字程序

2.5、Dos命令目录大全

(该目录可以通过在 cmd 中使用 help | clip 复制以下命令目录)

ASSOC 显示或修改文件扩展名关联。
ATTRIB 显示或更改文件属性。
BREAK 设置或清除扩展式 CTRL+C 检查。
BCDEDIT 设置启动数据库中的属性以控制启动加载。
CACLS 显示或修改文件的访问控制列表(ACL)。
CALL 从另一个批处理程序调用这一个。
CD 显示当前目录的名称或将其更改。
CHCP 显示或设置活动代码页数。
CHDIR 显示当前目录的名称或将其更改。
CHKDSK 检查磁盘并显示状态报告。
CHKNTFS 显示或修改启动时间磁盘检查。
CLS 清除屏幕。
CMD 打开另一个 Windows 命令解释程序窗口。
COLOR 设置默认控制台前景和背景颜色。
COMP 比较两个或两套文件的内容。
COMPACT 显示或更改 NTFS 分区上文件的压缩。
CONVERT 将 FAT 卷转换成 NTFS。你不能转换当前驱动器。
COPY 将至少一个文件复制到另一个位置。
DATE 显示或设置日期。
DEL 删除至少一个文件。
DIR 显示一个目录中的文件和子目录。
DISKPART 显示或配置磁盘分区属性。
DOSKEY 编辑命令行、撤回 Windows 命令并创建宏。
DRIVERQUERY 显示当前设备驱动程序状态和属性。
ECHO 显示消息,或将命令回显打开或关闭。
ENDLOCAL 结束批文件中环境更改的本地化。
ERASE 删除一个或多个文件。
EXIT 退出 CMD.EXE 程序(命令解释程序)。
FC 比较两个文件或两个文件集并显示它们之间的不同。
FIND 在一个或多个文件中搜索一个文本字符串。
FINDSTR 在多个文件中搜索字符串。
FOR 为一组文件中的每个文件运行一个指定的命令。
FORMAT 格式化磁盘,以便用于 Windows。
FSUTIL 显示或配置文件系统属性。
FTYPE 显示或修改在文件扩展名关联中使用的文件类型。
GOTO 将 Windows 命令解释程序定向到批处理程序中某个带标签的行。
GPRESULT 显示计算机或用户的组策略信息。
GRAFTABL 使 Windows 在图形模式下显示扩展字符集。
HELP 提供 Windows 命令的帮助信息。
ICACLS 显示、修改、备份或还原文件和目录的 ACL。
IF 在批处理程序中执行有条件的处理操作。
LABEL 创建、更改或删除磁盘的卷标。
MD 创建一个目录。
MKDIR 创建一个目录。
MKLINK 创建符号链接和硬链接
MODE 配置系统设备。
MORE 逐屏显示输出。
MOVE 将一个或多个文件从一个目录移动到另一个目录。
OPENFILES 显示远程用户为了文件共享而打开的文件。
PATH 为可执行文件显示或设置搜索路径。
PAUSE 暂停批处理文件的处理并显示消息。
POPD 还原通过 PUSHD 保存的当前目录的上一个值。
PRINT 打印一个文本文件。
PROMPT 更改 Windows 命令提示。
PUSHD 保存当前目录,然后对其进行更改。
RD 删除目录。
RECOVER 从损坏的或有缺陷的磁盘中恢复可读信息。
REM 记录批处理文件或 CONFIG.SYS 中的注释(批注)。
REN 重命名文件。
RENAME 重命名文件。
REPLACE 替换文件。
RMDIR 删除目录。
ROBOCOPY 复制文件和目录树的高级实用工具
SET 显示、设置或删除 Windows 环境变量。
SETLOCAL 开始本地化批处理文件中的环境更改。
SC 显示或配置服务(后台进程)。
SCHTASKS 安排在一台计算机上运行命令和程序。
SHIFT 调整批处理文件中可替换参数的位置。
SHUTDOWN 允许通过本地或远程方式正确关闭计算机。
SORT 对输入排序。
START 启动单独的窗口以运行指定的程序或命令。
SUBST 将路径与驱动器号关联。
SYSTEMINFO 显示计算机的特定属性和配置。
TASKLIST 显示包括服务在内的所有当前运行的任务。
TASKKILL 中止或停止正在运行的进程或应用程序。
TIME 显示或设置系统时间。
TITLE 设置 CMD.EXE 会话的窗口标题。
TREE 以图形方式显示驱动程序或路径的目录结构。
TYPE 显示文本文件的内容。
VER 显示 Windows 的版本。
VERIFY 告诉 Windows 是否进行验证,以确保文件正确写入磁盘。
VOL 显示磁盘卷标和序列号。
XCOPY 复制文件和目录树。
WMIC 在交互式命令 shell 中显示 WMI 信息。

2.6、获取某个命令的具体使用规则

  1. help + 命令
  2. 命令 + 空格 + / + ?

2.7、Dos命令使用案例

#盘符切换(进入到D盘:D:回车)
#查看当前目录下的所有文件(dir)
#切换目录(cd 缩写:change directory)
E:\>cd /d F:   #从E盘进入到F盘, cd /d F: 
E:\>cd /d F:\Markdown学习	#跨盘进入目录需要通过/d

# / 是参数的斜杠, \ 是文件的斜杠
/S 	#当前目录及子目录下所有文件
/A	#具有特殊属性的文件
/P	#分页,当屏幕信息无法完全显示时,可进行分页
/W 	#宽屏,dir /W + 文件夹,一排显示5个文件名,而不会显示文件大小、文件最后一次修改时间

cd..	#回到上一级目录
E:\>cd Markdown		#进入到当前E盘中的Markdown文件
cls	 	 #清理屏幕
exit	 #退出终端
ipconfig	#查看电脑的ip

# ping 命令(通过 ping 网站得到该网站的 ip 信息)一般用在测试网络是否正常的情况
ping www.baidu.com
# cmd 中,粘贴复制的内容方式为:鼠标右键单机

md test		#创建名为test的文件夹
cd>a.txt	#在当前目录下新建名为a.txt文件
del a.txt	#删除a.txt文件
rd test		#移除test文件夹目录

copy a.txt a.txt#复制文件,将a.txt复制并重命名为b.txt
move a.txt folder	#移动文件,将a.txt移动到folder目录下
type a.txt	#显示文本文件的内容
ren a.txt b.txt	#重命名文件,将a.txt重命名为b.txt
sys C:  A:#A盘传送系统,传送成功后,A盘将成为系统启动盘

3、Dos命令详细使用规则

3.1 dir

dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted]][/s][b][/I][/c][h]

(1)dir /a:attrib 缺省包含所有文件(系统文件、隐含文件)

  1. attrib[:][h/-h] 只显示隐含文件或非隐含文件
  2. [r/-r] 只显示只读文件或非只读文件
  3. [s/-s] 只显示系统文件或非系统文件
  4. [a/-a] 只显示要归档文件或非归档文件

(2)/o[:]sorted 缺省完全按字母顺序,子目录显示在文件前

  1. /o[n/-n] 按字母顺序或按文件名顺序/反向显示
  2. [e/-e] 按扩展名字母顺序/反向显示(常见扩展名:txt、MP3、PDF)
  3. [d/-d] 按时间顺序/反向显示
  4. [s/-s] 按大小从大到小/从小到大显示
  5. [g/-g] 按子目录先于文件/文件先于子目录

(3)/S 参数:对当前目录及其子目录中所有文件进行列表

(4)/B 参数:将只显示文件名与扩展名

(5)/L 参数:将全部用小写对文件或子目录进行列表

3.2 attrib

attrib [+r|-r][+a|-a][+s|-s][+h|-h][d:][name][/s]

(1)缺省 attrib + 文件名 显示文件的文件属性

​ 文件属性通常包括以下几种

​ 1. 系统属性(S

​ 该文件是操作系统使用的关键文件,一般默认隐藏

​ 2. 隐藏属性(H

​ 3. 只读属性(R

​ 只能被读取(打开浏览),不能被修改或删除

​ 4. 存档属性(A)

​ 常用于标记文件是否需要备份。当一个文件刚创建时,系统会自动将其设为存档状态,而当它被备份后,该属性可能被清除表示已经完成备份过程。

​ 5. root权限,无内容索引文件属性(I

​ 某些重要内容不让修改

​ 6.自定义权限自定义属性

​ 7.压缩属性(C

​ 8.加密属性(E

附:文件所在驱动器的文件系统也会影响文件的属性,FAT32格式不支持文件压缩和加密属性,而NTFS文件系统支持所有属性。

(2)显示一类文件的文件属性

attrib + *.txt 显示扩展名为txt的文件属性

*.* 表示所有文件

(3)设置某文件属性

attrib + shra + [D:\] + 文件名

参数
[+r|r] 将文件属性设置或解除 只读属性

[+a|-a] 将文件属性设置或解除 归档属性

[+h|-h] 将文件属性设置或解除 隐藏属性

[+s|-s] 将文件属性设置或解除 系统属性

/s 对当前目录及当前子目录下的所有文件均起作用

3.3 cd / chdir

cd… 返回上一级目录,"."代表当前目录

cd…\… 返回上一级目录的父目录

cd A:\ 将A盘的当前目录改为根目录

键入 CD drive: 显示指定驱动器中的当前目录。
不带参数只键入 CD,则显示当前驱动器和目录。

使用 /D 开关,除了改变驱动器的当前目录之外,还可改变当前驱动器。

如果命令扩展被启用(意味着可以用更多命令,默认被启用),CHDIR 会如下改变:
当前的目录字符串会被转换成使用磁盘名上的大小写。所以,如果磁盘上的大小写如此,CD C:\TEMP 会将当前目录设为C:\Temp。
CHDIR 命令不把空格当作分隔符,因此有可能将目录名改为一个带有空格但不带有引号的子目录名。例如:
cd \winnt\profiles\username\programs\start menu
与下列相同:
cd “\winnt\profiles\username\programs\start menu”
在扩展停用的情况下,你必须键入以上命令。

3.4 copy

(1)COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B] [+ source [/A | /B] [+ …]] [destination [/A | /B]]

copy /y 不加提示,对所有文件进行覆盖

/-y 加以提示,对所有文件(Yes/No)

/v 拷贝以后加以校验

/B 按二进制进行显示

/A 表示一个 ASCII 文本文件。

/N 复制带有非 8dot3 名称的文件时,尽可能使用短文件名。

/Z 用可重新启动模式复制已联网的文件。

/L 如果源是符号链接,请将链接复制到目标而不是源链接指 向的实际文件。

copy a.txt con/b 将 a.txt 文件在屏幕上显示,不比进入 txt 状态( con 表示屏幕)

copy nul a.txt 将 a.txt 文件清空(文件长度改为0)

copy 文件名+con 向文本文件中追加命令或内容

copy con 文件名 创建文本文件( F6 存盘退出)

copy con print 检测打印机的开关

(2)copy con file

从控制台创建文件,输入文件内容,,然后 Ctrl + Z,将输入的内容保存到 file 中。

con 是 dos 设备文件的简称。在 con 中把很多外部设备作为文件,称为设备文件。

CON 控制台

AUX 第一串行通信口

PRN 第一并行通信口/打印机

COM1 第一串行通信口

LPT1 第一并行通信口/打印机

NUL 空文件(不存在的设备)

3.5 xcopy

XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W][/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/J]
[/EXCLUDE:file1[+file2][+file3]…]

复制文件和目录树。

xcopy a:\student b:\Dos学习 /s/d: 将 a 盘 student 目录及子目录拷贝到b盘的 Dos 学习目录下,若 Dos学习目录为空目录,则会进行提示,若省略目标文件拷贝地址,则直接拷贝到当前目录。

source 指定要复制的文件。
destination 指定新文件的位置和/或名称。
/A 仅复制有存档属性集的文件,但不更改属性。
/M 仅复制有存档属性集的文件,并关闭存档属性。
/D:m-d-y 复制在指定日期或指定日期以后更改的文件。
如果没有提供日期,只复制那些
源时间比目标时间新的文件。
/EXCLUDE:file1[+file2][+file3]…
指定含有字符串的文件列表。每个字符串
在文件中应位于单独的一行。如果任何
字符串与复制文件的绝对路径的任何部分相符,
则排除复制该文件。例如,
指定如 \obj\ 或 .obj 的字符串会分别
排除目录 obj 下面的所有文件或带有
.obj 扩展名的所有文件。
/P 创建每个目标文件之前提示你。
/S 复制目录和子目录,不包括空目录。
/E 复制目录和子目录,包括空目录。
与 /S /E 相同。可以用来修改 /T。
/V 验证每个新文件的大小。
/W 提示你在复制前按键。
/C 即使有错误,也继续复制。
/I 如果目标不存在,且要复制多个文件,
则假定目标必须是目录。
/Q 复制时不显示文件名。
/F 复制时显示完整的源文件名和目标文件名。
/L 显示要复制的文件。
/G 允许将加密文件复制到不支持加密的目标。
/H 也复制隐藏文件和系统文件。
/R 覆盖只读文件。
/T 创建目录结构,但不复制文件。不
包括空目录或子目录。/T /E 包括
空目录和子目录。
/U 只复制已经存在于目标中的文件。
/K 复制属性。一般的 Xcopy 会重置只读属性。
/N 用生成的短名称复制。
/O 复制文件所有权和 ACL 信息。
/X 复制文件审核设置(隐含 /O)。
/Y 取消提示以确认要覆盖现有目标文件。
/-Y 要提示以确认要覆盖现有目标文件。
/Z 在可重新启动模式下复制网络文件。
/B 复制符号链接本身与链接目标。
/J 复制时不使用缓冲的 I/O。推荐复制大文件时使用。

若省略目标盘或子目录名,则拷贝到当前目录下

*:(1) xcopy 不拷贝系统文件和隐含文件,应先修改属性再拷贝

3.6 robocopy

ROBOCOPY source destination [file [file]…] [options]

Windows 的可靠文件复制

source 源目录(驱动器:\路径或\服务器\共享\路径)。
destination 目标目录(驱动器:\路径或\服务器\共享\路径)。 file 要复制的文件(名称/通配符: 默认为 “*.*”)。

退出(返回)代码值说明:

0

未复制任何文件。未遇到任何失败。没有不匹配的文件。目标目录中已存在这些文件,因此跳过了复制操作。

1

已成功复制所有文件。

2

目标目录中的其他一些文件在源目录中不存在。未复制任何文件

3

复制了一些文件。存在其他文件。未遇到任何失败

5

复制了一些文件。某些文件不匹配。未遇到任何失败

6

存在其他文件和不匹配的文件。未复制任何文件,也没有遇到任何故障。意味着文件已存在于目标目录中

7

已复制文件,存在文件不匹配情况,并且存在其他文件

8

有多个文件未复制

注意

该命令需要在管理员权限下才可以运行(建议以管理员身份打开 cmd 获得最高权限),不然,在使用 /copy:dat 、/copyall 、/copy:sou 时系统会提示错误:你没有管理审核的用户权限。你要有此权限才能复制审核信息(/COPY:U 或 /COPYALL)。

复制选项

​ /S 复制子目录,但不复制空的子目录。
​ /E 复制子目录,包括空的子目录。
​ /LEV:n 仅复制源目录树的前 n 层。
​ /Z 可重新启动模式下复制文件。
​ /B 在备份模式下复制文件。
​ /ZB 使用可重新启动模式;如果拒绝访问,请使用备 份模式。
​ /J 复制时使用未缓冲的 I/O (推荐在复制大文件时 使用)。
​ /EFSRAW 在 EFS RAW 模式下复制所有加密的文件
/COPY:复制标记 要复制的文件内容(默认为/COPY:DAT)。
​ (复制标记: D=数据,A=属性,T=时间戳)。
​ (S=安全=NTFS ACL,O=所有者信息,U=审核信息)。
​ /SEC 复制具有安全性的文件(等同于/COPY:DATS)。
​ /COPYALL 复制所有文件信息(等同于 /COPY:DATSOU)。
​ /NOCOPY 不复制任何文件信息(与 /PURGE 一起使用)。
​ /SECFIX 修复所有文件的文件安全性,即使是跳过的 文件。
​ /TIMFIX 修复所有文件的文件时间,即使是跳过的文 件。
​ /PURGE 删除源中不再存在的目标文件/目录。
​ /MIR 镜像目录树(等同于 /E 加 /PURGE)。
/MOV 移动文件(复制后从源中删除)。
​ /MOVE 移动文件和目录(复制后从源中删除)。
​ /A+:[RASHCNET] 将给定的属性添加到复制的文件。
​ /A-:[RASHCNET] 从复制的文件中删除给定的属性。
/CREATE 仅创建目录树和长度为零的文件。
/FAT 仅使用 8.3 FAT 文件名创建目标文件。
​ /256 关闭超长路径(> 256 个字符)支持。
/MON:n 监视源;发现多于 n 个更改时再次运行。
​ /MOT:m 监视源;如果更改,在 m 分钟时间后再次 运行。
​ /RH:hhmm-hhmm 可以启动新的复制时运行的小时数 - 时间。
​ /PF 基于每个文件(而不是每个步骤)来检查运行小时 数。
​ /IPG:n 程序包间的间距(ms),以释放低速线路上的带 宽。
​ /SL 对照目标复制符号链接。
​ /MT[:n] 使用 n 个线程进行多线程复制(默认值为 8)。
​ n 必须至少为 1,但不得大于 128。
​ 该选项与 /IPG 和 /EFSRAW 选项不兼容。
​ 使用 /LOG 选项重定向输出以便获得最佳性能。
/DCOPY:复制标记 要复制的目录内容(默认为 /DCOPY:DA)。
​ (复制标记: D=数据,A=属性,T=时间戳)。
/NODCOPY 不复制任何目录信息(默认情况下, 执行 /DCOPY:DA)。
/NOOFFLOAD 在不使用 Windows 复制卸载机制的 情况下复制文件。

文件选择选项

​ /A 仅复制具有存档属性集的文件。
​ /M 仅复制具有存档属性的文件并重置存档属性。
​ /IA:[RASHCNETO] 仅包含具有任意给定属性集的文件。
​ /XA:[RASHCNETO] 排除具有任意给定属性集的文件。
​ /XF 文件[文件] 排除与给定名称/路径/通配符匹配的文件。
​ /XD 目录[目录] 排除与给定名称/路径匹配的目录。
​ /XC 排除已更改的文件。
​ /XN 排除较新的文件。
​ /XO 排除较旧的文件。
​ /XX 排除多余的文件和目录。
​ /XL 排除孤立的文件和目录。
​ /IS 包含相同文件。
​ /IT 包含已调整的文件。
​ /MAX:n 最大的文件大小 - 排除大于 n 字节的文件。
​ /MIN:n 最小的文件大小 - 排除小于 n 字节的文件。
​ /MAXAGE:n 最长的文件存在时间 - 排除早于 n 天/日期的文 件。
​ /MINAGE:n 最短的文件存在时间 - 排除晚于 n 天/日期的文 件。
​ /MAXLAD:n 最大的最后访问日期 - 排除自 n 以来未使用的文 件。
​ /MINLAD:n 最小的最后访问日期 - 排除自 n 以来使用的文 件。
​ (If n < 1900 then n = n days, else n = YYYYMMDD date)
​ /XJ 排除接合点和符号链接(默认情况下通常包括)
​ /FFT 假设 FAT 文件时间(2 秒粒度)。
​ /DST 弥补 1 小时的 DST 时间差。
​ /XJD 排除目录的接合点和符号链接。
​ /XJF 排除文件的符号链接。
​ /IM 包含已修改的文件(更改时间不同)

重试选项

​ /R:n 失败副本的重试次数: 默认为 1 百万。
​ /W:n 两次重试间的等待时间: 默认为 30 秒。
​ /REG 将注册表中的 /R:n 和 /W:n 保存为默认设置。
​ /TBD 等待定义共享名称(重试错误 67)。

日志记录选项:

​ /L 仅列出 - 不复制、添加时间戳或删除任何文件。
​ /X 报告所有多余的文件,而不只是选中的文件。
​ /V 生成详细输出,同时显示跳过的文件。
​ /TS 在输出中包含源文件的时间戳。
​ /FP 在输出中包含文件的完整路径名称。
​ /BYTES 以字节打印大小。
​ /NS 无大小 - 不记录文件大小。
​ /NC 无类别 - 不记录文件类别。
​ /NFL 无文件列表 - 不记录文件名。
​ /NDL 无目录列表 - 不记录目录名称。
​ /NP 无进度 - 不显示已复制的百分比。
​ /ETA 显示复制文件的预期到达时间。
​ /LOG:文件 将状态输出到日志文件(覆盖现有日志)
​ /LOG+:文件 将状态输出到日志文件(附加到现有日志 中)
/UNILOG:文件 以 UNICODE 方式将状态输出到日志文件 (覆盖现有日志)。
/UNILOG+:文件 以 UNICODE 方式将状态输出到日志文 件(附加到现有日志中)。
​ /TEE 输出到控制台窗口和日志文件。
​ /NJH 没有作业标头。
​ /NJS 没有作业摘要。
​ /UNICODE 以 UNICODE 方式输出状态。

作业选项

​ /JOB:作业名称 从命名的作业文件中提取参数。
/SAVE:作业名称 将参数保存到命名的作业文件
​ /QUIT 处理命令行后退出(以查看参数)。
​ /NOSD 未指定源目录。
​ /NODD 未指定目标目录。
​ /IF 包含以下文件。
备注
​ 以前在卷的根目录上使用 /PURGE 或 /MIR 导致 robocopy 也对“系统卷信息”目录内的文件应用所请求的操作。现在不再是这种情形;如果指定了任何一项,则 robocopy 将跳过 复制会话简要源目录和目标目录中具有该名称的任何文件或目录。 已修改的文件分类仅在源和目标文件系统支持更改时间戳(例如 NTFS)以及源和目标文件具有不同的更改时间(否则相同)时才适用。默认情况下不复制这些文件;指定 /IM以包含它们。
/DCOPY:E 标志请求扩展属性复制应该针对目录进行尝试 请注意如果目录的 EA 无法复制,则当前 robocopy 将继续。/COPYALL 中也未包括在 /COPYALL 中。如果指定了 /IoMaxSize 或 /IoRate,则 robocopy 将启用复制文件限制 (目的是减少系统负载)。两者都可以调整为允许值或最佳值;亦即,两者指定所需的复制参数,但系统和 robocopy允许根据需要将其调整为合理的/允许的值。如果还使用了/Threshold,它将为文件大小指定最小值以参与限制;低于该大小的文件将不会受到限制。所有这三个参数的值后面都能加上可选后缀字符(从集 [KMG](K, M, G)中)。 使用 /LFSM 请求 robocopy 在“低可用空间模式”下运行。在该模式下,robocopy 会暂停(每当文件副本导致)目标卷的可用空间低于可以由 LFSM:n[KMG] 形式的标志明确指定的“下限”值时,robocopy 将会暂停。如果指定了 /LFSM,但没有显式下限值,则会将下限设置为目标卷大小的百分之十。低可用空间模式与 /MT 和 /EFSRAW不兼容。
案例

  1. robocopy C:\Markdown D:\mk *.md /s
    ​ 将C:\中 MarkDown 文件夹下的 扩展名为 md 的文件复制到目标文件夹 D:\mk 中。/S 表示除空文件夹下的所有子目录

  2. robocopy C:\User\thinkpad D:\mk /s /lev:2
    ​ lev:2 表示复制目录的层级,将C:\User\thinkpad 目录下两层复制到 D:\mk 中。即C:\User\thinkpad\*\*\…后面的内容将不被复制

  3. robocopy C:\User\thinkpad D:\mk /s /min:5000 /max:50000
    ​ 文件大小小于 5000 bytes的文件,以及文件大小大于 50000 bytes 的文件不参与复制。4. robocopy C:\User\thinkpad D:\mk /s /maxage:1500 /minage:1000
    ​ 最远修改时间大于1500天和少于1000天的将不被复制,maxage 和 minage 可以配合使用,也可以单独使用。maxage 和 minage 后可以接数字,也可以接日期,数字小于1900表示天数,否则,就得用YYYYMMDD来表示具体日期。
    ​ 如robocopy C:\User\thinkpad D:\mk /s /maxage:20200101 /minage:20230101 表示最远修改文件时间为20200101,最近修改时间为20230101。

  4. robocopy 复制一类文件时,/s,哪怕指定文件扩展名,修改时间等,同样会在复制过程中一并把文件夹目录复制过来添加在C:\User\thinkpad 路径后。此命令将 D:\mk 下的扩展名为 .txt .mp3 的所有文件复制到C:\User\thinkpad 目录下,并建立子文件夹(例如 .txt 、.mp3 路径为 D:\mk\*\*\*.txt ,复制该文件到 C:\User\thinkpad 目录时,该*.txt 文件路径为C:\User\thinkpad\*\*\*.txt)

  5. 不复制具有隐藏 (h)、只读 ® 等文件属性的文件,以隐藏为例,robocopy C:\Use\thinkpad D:\mk *.txt /e /xa:h 复制 C:\Use\thinkpad 源文件中除隐藏属性外扩展名为 txt 的所有文件。/xa:h 表示排除具隐藏属性的文件,/ia:h 表示只对包括指定属性的文件执行操作。/e代表当不存在符合条件的文件时,也会自动生成文件夹。

  6. /a+ /a- 等参数对属性进行操作,表示在文件拷贝后添加或去除某属性。 robocopy C:\Use\thinkpad D:\mk *.txt /e /a-:r 表示把 C:\Use\thinkpad 单层目录下后缀名为 txt 的文件复制到 D:\mk 目录下,并将拷贝在新目录下的具有 r 属性的文件去除只读权限,没有 r 属性的 txt 文件保持不变保存至新目录,且,去除的 r 属性只针对新拷贝文件,原路径文件的 r 文件属性没有被去除。若要把 C:\Use\thinkpad 目录及子目录下的所有 txt 文件复制到新目录,添加 /s 即可,唯一缺陷就是,会将子目录的文件夹一并复制过来,txt 文件不能被同时呈现在一个目录下。

  7. 一般采用的复制方式为增量复制,即根据文件的大小、修改时间将源文件夹里的内容向目标文件复制,久而久之,目标文件夹里就存在大量源文件夹早已删除且无用的文件和文件夹。如果要让备份完全相同,即拷贝的同时删除目标文件夹中存在但源文件夹不存在的文件。robocopy C:\Use\thinkpad D:\mk *.txt /mir /mir 的作用等同于 /purge /e , /purge 表示清理目标文件夹有而源文件没有的文件(文件夹)。/mir 命令能保证源文件夹和目标文件夹结构与文件完全相同。这在创建镜像备份时,非常有用。

  8. 复制文件夹结构,robocopy C:\Use\thinkpad D:\mk /e /lev:3 /minage:19000101 通过设置最晚文件修改日期来达到只创建文件夹的目的。/lev:3 表示复制 3 层目录文件。由于不存在符合要求的文件,达到复制文件夹结构的目的。

  9. NTFS 权限跟着走

3.7 del

删除一个或多个文件。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

del 可以删除子目录下所有文件(不包括隐含文件、系统文件和只读文件)

names 指定一个或多个文件或者目录列表。
通配符可用来删除多个文件。如果指定了一个目录,该目录中的所有文件都会被删除。

/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 删除所有子目录中的指定的文件。
/Q 安静模式。删除全局通配符时,不要求确认
/A 根据属性选择要删除的文件
属性 R 只读文件 S 系统文件
H 隐藏文件 A 准备存档的文件
I 无内容索引文件 L 重新分析点
O 脱机文件 - 表示“否”的前缀

如果命令扩展被启用,DEL 和 ERASE 更改如下:

/S 开关的显示句法会颠倒,即只显示已经删除的文件,而不显示找不到的文件。

七、doskey

DOSKEY [/REINSTALL] [/LISTSIZE=size] [/MACROS[:ALL | :exename]][/HISTORY] [/INSERT | /OVERSTRIKE] [/EXENAME=exename] [/MACROFILE=filename]
[macroname=[text]]

将doskey驻留内存,开辟出缓冲区,以后输入的命令都将保存在缓冲区中,可以随时调用,可以用F7快捷键来显示,用"↑↓"来选择,用F9来输入命令号码

deskey [宏命令][命令名] 将宏命名定义为命令,以后输入宏命令,电脑将会执行相应的命令

/RESTALL 重新装入一次,以前的命令行撤消.

/HISTORY 显示内存中所有的命令,可以">“显示到其它文件中,缩写”/H".

doskey dir=cls 则击入dir等同于cls一样.

/MACROS 可显示所有的宏定义,可使用">“重定义到文件中,可缩写”/M"

/MACROS:ALL 为具有 Doskey 宏的所有可执行文件显示所有Doskey 宏。

/MACROS:EXENAME 显示指定可执行文件的所有 Doskey 宏。

doskey dir 可撤消对dir 的宏定义.

doskey p=dir$tdir*.exe/p$tdir c:\t$tdir c:\t$* *

$t为命令的区分符,而$*为命令的结束符

==/INSERT(OVERSTRIKE)?==在重新输入命令时,对旧命令的修改是插入还是覆盖状态(默认).

/BUFSIZE 置缓冲区大小

/LISTSIZE=size 设置命令历史记录的缓冲区大小。

/EXENAME=exename 指定可执行文件。

/MACROFILE=filename 指定要安装的宏文件。

macroname 指定你创建的宏的名称。

text 指定要录制的命令。

上下箭头 重新调用命令;Esc 清除命令行;F7
显示命令历史记录;Alt+F7 清除
命令历史记录;F8 搜索命令历史记录;F9 按编号选择命令;Alt+F10 清除宏定义。

以下是 Doskey 宏定义的一些特殊代码:
$T 命令分隔符。允许一个宏中存在多个命令。
$1-$9 批处理参数。与批处理程序中的 %1-%9 等同。
$* 以命令行中命令名称后面的任何内容替换的符号。

宏命令定义关机

案例:doskey 关机=shutdown /s /t 10

则在 cmd 中直接输入“关机” 回车,执行“shutdown /s /t 10”命令,即在10s后执行关机。

doskey 关机= 回车,撤销对“关机”的宏定义

一个命令宏可以添加多个命令,$T为命令连接符

案例:doskey 创建 = net user + 用户名(用 $1 代表自定义参数用户名))+ 账户密码(用$2代表自定义参数密码) /add $T echo “账户$1创建完成” $T net localgroup administrators $1 /add

创建用户名和密码,并将它添加到管理员组,此时,可以用该账号密码登录该计算机。

运用宏定义打开应用程序

案例:将桌面快捷方式“微信”剪切到“C:\我的软件”目录下,在 cmd 中定义“打开”doskey 打开 = C:\我的软件\$1.LNK,LNK是快捷方式的后缀,在cmd中输入“打开微信”回车,打开微信。

cmd宏定义的缺陷

在关掉 cmd 窗口后,之前的所有宏定义命令将会失效,即“打开”宏定义后,一旦关闭cmd窗口,该宏定义失效。

如何解决该缺陷

  1. 批处理文件

    首先,在磁盘任意位置创建文本文档,命名为doskey.txt,在文档首行输入“@echo off“,echo off 可以关闭接下来所有命令行的回显,即不显示命令行的回显结果,可以使页面更整洁,再在下一行输入宏定义命令,保存时,将扩展名改为”doskey.bat“,保存类型选择所有文件,将编码“UTF8改为“ANSI”,因为我们的批处理文件中会含有中文,如果用“UTF8”会显示乱码。

  2. 打开注册表

    Win + R 输入regedit,根据 “计算机 \HKEY_CURRENT_USER\Soft ware\Microsoft\Command Processor”路径找到Command Processor(如果没有Command Processor,在Microsoft下方创建一个名为“Command processor”的文件夹即可),在Microsoft Processor下,右键→名称→新建→字符串值,名称输入“AutoRun”,双击打开“AutoRun”,在数值数据中填写批处理文件路径,即doskey的路径。

  3. 完成

    此时,每打开一次cmd,系统就会自动运行一遍批处理,无需宏定义。

创建用户

需要管理员权限,以管理员身份运行cmd。

八、data

显示或设置日期

data [/T|data]

/T 指示命令只输出当前日期,但不提示输入日期

data 输出格式为 yyyy/MM/dd

九、time

显示或设置时间

time [/T|time]

/T 指示命令只输出当前时间,但不提示输入新时间

data 输出格式为 yyyy/MM/dd

十、ver

显示 Windows 版本

十一、vol

显示磁盘卷标和序列号

vol + [盘符:] 若省略盘符,则显示当前驱动器卷标

十二、exit

退出cmd程序

exit /B [exitCode]

/B 指定退出当前批处理脚本而不是 cmd.exe, 如果从一个批处理脚本外执行,则退出 cmd.exe

EXECode 指定一个数字号码。如果指定了 /B, 则将 ERRORLEVEL 设置成那个数字。 如果退出 cmd.exe,则用该数字设置过程退出代码

十三、md/mkdir

创建目录(make directory)

MKDIR [drive:]path
MD [drive:]path

如果命令扩展被启用,MKDIR 会如下改变:

如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 \a 不
存在,那么:
mkdir \a\b\c\d
与:
mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
相同。如果扩展被停用,则需要键入 mkdir \a\b\c\d。
如果创建目录时,md C:\a\b\c a.txt ,如果不存在该目录,会依次创建该目录并在该目录下创建 a.txt

十四、path

为可执行文件显示或设置一个搜索路径。

PATH [[drive:]path[;…][;%PATH%]
PATH ;

键入 PATH ,清除所有搜索路径设置并指示 cmd.exe 只在当前
目录中搜索。
键入 PATH 但不加参数,显示当前路径。
将 %PATH% 包括在新的路径设置中会将旧路径附加到新设置

在当前目录下输入 path ,显示该系统的环境变量,要在 cmd.exe 中运行程序,可以通过配置环境变量中的Path值来指定程序的运行路径。

环境配置方法:此电脑右键选择属性,高级系统设置中找到环境变量,将程序的路径粘贴到Path中。配置完成。

cmd执行程序

  1. Win + R,打开运行框
  2. 在运行框中输入命令: control system,打开环境变量窗口
  3. cmd 输入程序名 + enter 执行程序

十五、rd/rmdir

删除一个子目录

rd [/S][/Q][drive:][path]

/S 删除目录及子目录,用于删除目录树

/Q 安静模式,删除目录时不要确认

若要使用del或rd移除或删除目录,需要先清空该目录下的所有文件,再移除目录,否则无法移除该目录。

rd 只能删除空文件夹,如果该目录下含有子目录且非空,则无法进行删除操作,若需要删除非空文件夹,则需要用到参数 /s ,即 rd /s + 文件夹名

del 删除目录

十六、tree

以树形结构显示文件/目录

tree [drive:][path][/F][/A]

/F 显示每个文件夹中文件的名称

/A 使用 ASCII 字符,而不是用扩展字符

十七、echo

显示信息,或将命令回显打开或关上(+ >[重定向])

echo [ON|OFF]或ECHO [message]

ON|OFF 通常作为控制批处理命令,在执行时是否显示命令行自身的开关

如果想关闭 ECHO OFF 命令行自身的显示,则需要在该命令行前加上“@”

">"重定向的使用

echo [message] > file 在 file 文件中写入 message

echo [message] > >file 在 file 文件中追加 message

echo. echo 紧跟一个点,输出一个回车

echo.|time 在 time 输出后紧跟一个回车

十八、find

在文件中搜索字符串

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] “string”[[drive:][path]filename[ …]]

/V 显示所有未包含指定字符串的行
/C 仅显示包含字符串的行数
/N 显示行号
/I 搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件
“string” 指定要搜索的文本字符串
[drive:][path]filename 指定要搜索的文件路径

十九、findstr

在文件中寻找字符串

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file] [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]] strings [[drive:][path]filename[ …]]

/B 在一行的开始配对模式。
/E 在一行的结尾配对模式。
/L 按字使用搜索字符串。
/R 将搜索字符串作为一般表达式使用。
/S 在当前目录和所有子目录中搜索匹配文件。
/I 指定搜索不分大小写。
/X 打印完全匹配的行。
/V 只打印不包含匹配的行。
/N 在匹配的每行前打印行数。
/M 如果文件含有匹配项,只打印其文件名。
/O 在每个匹配行前打印字符偏移量。
/P 忽略有不可打印字符的文件。
/OFF[LINE] 不跳过带有脱机属性集的文件。
/A:attr 指定有十六进位数字的颜色属性。请见 “color /?”
/F:file 从指定文件读文件列表 (/ 代表控制台)。
/C:string 使用指定字符串作为文字搜索字符串。
/G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。
/D:dir 查找以分号为分隔符的目录列表
strings 要查找的文字。
[drive:][path]filename 指定要查找的文件。

除非参数有 /C 前缀,请使用空格隔开搜索字符串。
例如: ‘FINDSTR “hello there” x.y’ 在文件 x.y 中寻找 “hello” 或
“there”。‘FINDSTR /C:“hello there” x.y’ 文件 x.y 寻找
“hello there”。

一般表达式的快速参考:

  • . 通配符: 任何字符
  • * 重复: 以前字符或类出现零或零以上次数
  • ^ 行位置: 行的开始
  • $ 行位置: 行的终点
  • [class] 字符类: 任何在字符集中的字符
  • [^class] 补字符类: 任何不在字符集中的字符
  • [x-y] 范围: 在指定范围内的任何字符
  • \x Escape: 元字符 x 的文字用法
  • \<xyz 字位置: 字的开始
  • xyz\> 字位置: 字的结束

二十、more

逐屏显示输出

MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]] MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]

/E 启用扩展功能
/C 显示页面前先清除屏幕
/P 扩展 FormFeed 字符
/S 将多个空白行缩成一行
/Tn 将制表符扩展为 n 个空格(默认值为 8)

开关可以出现在 MORE 环境变量中。

+n 从第 n 行开始显示第一个文件

files 要显示的文件列表。使用空格分隔列表中的文件。如果已启用扩展功能,则在 – More – 提示处 接受下列命令:
P n 显示下 n 行
S n 跳过下 n 行
F 显示下个文件
Q 退出
==== 显示行号
? 显示帮助行
<space> 显示下一页
<ret> 显示下一行

二十一、move

移动文件并重命名文件和目录。

要移动至少一个文件:
MOVE [/Y | /-Y] [drive:][path]filename1[,…] destination

要重命名一个目录:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2

[drive:][path]filename1 指定你想移动的文件位置和名称。
destination 指定文件的新位置。目标可包含一个驱动器号和冒号、一个目录名或组合。如果只移动一个文件并在移动时将其重命名,你还可以包括文件名。
[drive:][path]dirname1 指定要重命名的目录。
dirname2 指定目录的新名称。

/Y 取消确认覆盖一个现有目标文件的提示。
/-Y 对确认覆盖一个现有目标文件发出提示。

命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上
的 /-Y 替代。默认值是,除非 MOVE 命令是从一个批脚本内
执行的,覆盖时都发出提示。

二十二、rem

批处理文件或CONFIG.SYS里加上注解或说明

REM [comment]

:: 注释内容(一个冒号也可以,后面再加上任何一个非数字或字母的字符,通常使用两个冒号)

rem 注释内容(不能出现重定向和管道符号)

echo 注释内容(不能出现重定向和管道符号)> null

二十三、ren

重命名文件。

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

请注意,你不能为目标文件指定新的驱动器或路径。

二十四、type

显示文本文件的内容。

TYPE [drive:][path]filename

当把命令的输出重定向到 null 上,即可屏蔽命令的输出,又不产生实际的文件。

\>nul 屏蔽标准输出在屏幕上显示

2\>nul 屏蔽错误信息的显示

二十四、chkdsk

检查磁盘并显示状态报告。

CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]]\ [/B] [/scan] [/spotfix]

volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
filename 仅 FAT/FAT32: 指定要检查碎片的文件。
/F 修复磁盘上的错误。
/V 在 FAT/FAT32 上: 显示磁盘上每个文件的完整路径和名称。在 NTFS 上: 显示清理消息(如果有)。
/R 查找坏扇区并恢复可读信息(未指定 /scan 时,隐含 /F)。
/L:size 仅 NTFS: 将日志文件大小更改为指定的 KB 数。如果未指定大小,则显示当前大小。
/X 如果必要,则先强制卸除卷。该卷的所有打开的句柄都将无效(隐含 /F)。
/I 仅 NTFS: 对索引项进行强度较小的检查。
/C 仅 NTFS: 跳过文件夹结构内的循环检查。
/B 仅 NTFS: 重新评估该卷上的坏簇(隐含 /R)
/scan 仅 NTFS: 在卷上运行联机扫描
/forceofflinefix 仅 NTFS: (必须与 “/scan” 一起使用),跳过所有联机修复;找到的所有故障都排队等待脱机修复(即 “chkdsk /spotfix”)。
/perf 仅 NTFS: (必须与 “/scan” 一起使用),使用更多系统资源尽快完成扫描。这可能会对系统中运行的其他任务的性能造成负面影响。
/spotfix 仅 NTFS: 在卷上运行点修复
/sdcleanup 仅 NTFS: 回收不需要的安全描述符数据(隐含 /F)。
/offlinescanandfix 在卷上运行脱机扫描并进行修复。
/freeorphanedchains 仅 FAT/FAT32/exFAT: 释放所有孤立的簇链而不恢复其内容。
/markclean 仅 FAT/FAT32/exFAT: 如果未检测到损坏,则将卷标记为干净,即使未指定 /F 也是如此。
/I 或 /C 开关通过跳过对卷的某些检查,来减少运行 Chkdsk 所需的时间。

二十五、chkntfs

启动时显示或修改磁盘检查。

CHKNTFS volume […]
CHKNTFS /D
CHKNTFS /T[:time]
CHKNTFS /X volume […]
CHKNTFS /C volume […]
volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
/D 将计算机还原为默认行为;启动时检查所有驱动器,并对有问题的驱动器运行 chkdsk。
/T:time 将 AUTOCHK 初始递减计数时间更改为指定的时间,单位为秒。如果没有指定时间,则显示当前设置。
/X 将驱动器排除在启动时检查范围之外。被排除的驱动器在命令调用之间不会累计。
/C 安排驱动器在启动时检查;如果驱动器有问题,则会在下一次重启时运行 chkdsk。
如果未指定开关,CHKNTFS 将显示指定的驱动器是否有问题
或者是否计划在下一次重新启动时执行检查。

二十六、covert

将 FAT 卷转换为 NTFS。

CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]
volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
/FS:NTFS 指定要将此卷转换为 NTFS。
/V 指定将在详细模式下运行 Convert。
/CvtArea:filename 指定根目录中的一个连续文件,该文件将是 NTFS 系统文件的占位符。
/NoSecurity 指定所有用户均可以访问转换文件和目录的安全设置。
/X 如果必要,请先强制卸除卷。该卷的所有打开句柄将会无效。

​ covert 可以直接在不破坏 FAT 文件系统的前提下,将 FAT 转换为 NTFS。也就是无损转换分区。

​ FAT 和 NTFS 是系统硬盘分区的两种格式(文件系统)。FAT32支持分区的大小最大为32GB,实际中不支持单个文件大于4GB;而NTFS很好的解决了容量限制的问题,分区最大容量可以支持到16EB(2的24次方TB)。

二十七、format

格式化磁盘以供 Windows 使用。

FORMAT volume [/FS:file-system] [/V:label] [/Q] [/L[:state]] [/A:size] [/C] [/I:state] [/X] [/P:passes] [/S:state]
FORMAT volume [/V:label] [/Q] [/F:size] [/P:passes]
FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors] [/P:passes]
FORMAT volume [/V:label] [/Q] [/P:passes]
FORMAT volume [/Q]
volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
/FS:filesystem 指定文件系统类型(FAT、FAT32、exFAT、NTFS、UDF、ReFS)。
/V:label 指定卷标。
/Q 执行快速格式化。请注意,此开关可替代 /P。
/C 仅适于 NTFS: 默认情况下,将压缩在该新建卷上创建的文件。
/X 如果必要,请先强制卸除卷。该卷的所有打开句柄不再有效。
/R:revision 仅 UDF: 强制格式化为特定的 UDF 版本(1.02、1.50、2.00、2.01、2.50)。默认修订版为 2.01。
/D 仅适用于 UDF 2.50: 将复制元数据。
/L[:state] 仅适用于 NTFS: 覆盖文件记录的默认大小。默认情况下,非分层卷将使用较小的文件记录格式化,分层卷将使用较大的文件记录格式化。/L 和 /L:enable 会强制使用较大的文件记录格式化,而 /L:disable 会强制使用较小的文件记录格式化。
/A:size 替代默认分配单元大小。强烈建议你在通常情况下使用默认配置。

ReFS 支持 4096、64K。NTFS 支持 512、1024、2048、4096、8192、16K、32K、64K、128K、256K、512K、1M、2M。

FAT 支持 512、1024、2048、4096、8192、16K、32K、64K,(128K、256K 用于大于 512 个字节的扇区)。

FAT32 支持 512、1024、2048、4096、8192、16K、32K、64K,(128K、256K 用于大于 512 个字节的扇区)。

exFAT 支持 512、1024、2048、4096、8192、16K、32K、64K、128K、256K、512K、1M、2M、4M、8M、16M、32M。

请注意,FAT 和 FAT32 文件系统对卷上的群集数量施加以下限制:FAT: 群集数量 <= 65526 FAT32: 65526 < 群集数量 < 4177918 如果判定使用的指定群集大小无法满足以上需求,将立即停止格式化。大于 4096 的分配单元大小不支持 NTFS 压缩。

/F:size 指定要格式化的软盘大小(1.44)
/T:tracks 为磁盘指定每面磁道数。
/N:sectors 指定每条磁道的扇区数。
/P:count 将卷上每个扇区清零。此后,该卷将被改写 “count” 次,且每次使用不同的随机数。如果 “count” 为零,则每个扇区清零后,不再进行改写。如果已指定 /Q,则忽略此开关。
/S:state 指定对短文件名的支持(enable、disable)默认情况下禁用了短名称
/TXF:state 指定 txf 已启用/已禁用(值分别为 enabled 和 disabled)默认情况下,将启用 TxF
/I:state 仅 ReFS: 指定是否应在新卷上启用完整性。“state” 为 “enable” 或 "disable"默认情况下,在支持数据冗余的存储上启用完整性。
/DAX[:state] 仅适用于 NTFS: 对此卷启用直接访问存储(DAX)模式。在 DAX 模式下,可以通过内存总线访问卷,从而大幅提升 IO 性能。仅当硬件支持 DAX 时,才能使用 DAX 模式格式化卷。State 可指定为 “enable” 或 “disable”。/可将 DAX 视为 /DAX:enable。
/LogSize[:size 仅适用于 NTFS: 以千字节为单位指定 NTFS 日志文件的大小。最小支持大小为 2MB,因此即使指定的大小小于 2MB,也将产生 2MB 的日志文件。零表示通常取决于卷大小的默认值。
/NoRepairLogs 仅适用于 NTFS: 禁用 NTFS 修复日志。如果设置此标志spotfix (即 chkdsk /spotfix)将不起作用。

二十八、hostname

hostname 打印当前主机的名称

二十九、label

创建、更改或删除磁盘的卷标。

LABEL [drive:][label]
LABEL [/MP] [volume] [label]
drive 指定驱动器号。
label 指定卷标。
/MP 指定卷应被视为装入点或卷名。
volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。如果指定了卷名,/MP 标志则不必要。

三十、arp

显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。

ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]

-a 通过询问当前协议数据,显示当前 ARP 项。如果指定 inet_addr,则只显示指定计算机的 IP 地址和物理地址。如果不止一个网络接口使用 ARP,则显示每个 ARP 表的项。
-g 与 -a 相同。
-v 在详细模式下显示当前 ARP 项。所有无效项和环回接口上的项都将显示。
inet_addr 指定 Internet 地址。
-N if_addr 显示 if_addr 指定的网络接口的 ARP 项。
-d 删除 inet_addr 指定的主机。inet_addr 可以是通配符 *,以删除所有主机。
-s 添加主机并且将 Internet 地址 inet_addr与物理地址 eth_addr 相关联。物理地址是用连字符分隔的 6 个十六进制字节。该项是永久的。
eth_addr 指定物理地址。
if_addr 如果存在,此项指定地址转换表应修改的接口的 Internet 地址。如果不存在,则使用第一个适用的接口。
示例:

arp -s 157.55.85.212 00-aa-00-62-c6-09… 添加静态项。
arp -a … 显示 ARP 表。

三十一、finger

显示与运行手指服务的指定系统上某个用户有关的信息。输出因远程系统而异。

FINGER [-l] [user]@host […]

-l 以长列表格式显示信息。
user 指定需要其信息的用户。省略 user 参数
将显示与指定主机上所有用户有关的信息。
@host 指定需要其用户信息的远程系统上的服务器。

三十二、ftp

FTP 是 ARPANet 的标准文件传输协议,就是现今 Internet 的前身。

FTP [-v][-d][-i][-n][-g][-s:filename][-a][-A][-x:sendbuffer][-r:recvbuffer][-b:asyncbuffers][-w:windowsize][host]

-v 禁止显示远程服务器响应。
-n 禁止在初始连接时自动登录。
-i 关闭多文件传输过程中的交互式提示。
-d 启用调试。
-g 禁用文件名通配(请参阅 GLOB 命令)。
-s:filename 指定包含 FTP 命令的文本文件;命令
在 FTP 启动后自动运行。
-a 在绑字数据连接时使用所有本地接口。
-A 匿名登录。
-x:send sockbuf 覆盖默认的 SO_SNDBUF 大小 8192。
-r:recv sockbuf 覆盖默认的 SO_RCVBUF 大小 8192。
-b:async count 覆盖默认的异步计数 3
-w:windowsize 覆盖默认的传输缓冲区大小 65535。
host 指定主机名称或要连接到的远程主机的 IP 地址。

注意:

  • mget 和 mput 命令将 y/n/q 视为 yes/no/quit。
  • 使用 Ctrl-C 中止命令。

text.rebex.net 测试 ftp ,点击→使用说明,查看 text.rebex.net 的使用方法。

三十三、ipconfig

显示或设置网络设备

ipconfig [/allcompartments][/? | /all /renew [adapter]]|/release [adapter]|/renew6[adapter]|/release6 [adapter]|/flushdns|/displaydns|/registerdns|/showclassid adapter|setclassid adapter [classid]|/showclassid6 adapter|/setclassid6 adapter|setclassid6 adapter [classid]]

/? 显示此帮助消息
/all 显示完整配置信息。
/release 释放指定适配器的 IPv4 地址。
/release6 释放指定适配器的 IPv6 地址。
/renew 更新指定适配器的 IPv4 地址。
/renew6 更新指定适配器的 IPv6 地址。
/flushdns 清除 DNS 解析程序缓存。
/registerdns 刷新所有 DHCP 租约并重新注册 DNS 名称
/displaydns 显示 DNS 解析程序缓存的内容。
/showclassid 显示适配器的所有允许的 DHCP 类 ID。
/setclassid 修改 DHCP 类 ID。
/showclassid6 显示适配器允许的所有 IPv6 DHCP 类 ID。
/setclassid6 修改 IPv6 DHCP 类 ID。

【使用技巧:】
ipconfig … 显示信息
ipconfig /all … 显示详细信息
ipconfig /renew … 更新所有适配器
ipconfig /renew EL* … 更新所有名称以 EL 开头的连接
ipconfig /allcompartments … 显示有关所有分段的信息

三十四、net

net 是庞大命令集,主要用于管理网络环境、服务、用户、登陆等信息内容

NET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP | ELPMSG | LOCALGROUP | PAUSE | SESSION | SHARE | START | STATISTICS | STOP | TIME | USE | USER | VIEW ]

Net Accounts 更新用户帐号数据库、更改密码及所有帐号的登录要求;
Net Computer 从域数据库中添加或删除计算机;
Net Config 显示工作站或 Server 服务的配置信息;
Net Localgroup 添加、显示或更改本地组;
Net Start 启动服务,或显示已启动服务的列表;
Net Stop 停止服务(有些服务无法停止);
Net User 添加或更改用户帐号或显示用户帐号信息;

三十五、netstat

显示协议统计和当前 TCP/IP 网络连接

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

-a 显示所有连接和侦听端口。

-b 显示在创建每个连接或侦听端口时涉及的可执行程序。在某些情 况下,已知可执行程序承载多个独立的组件,这些情况下,显示 创建连接或侦听端口时涉及的组件序列。此情况下,可执行程序 的名称位于底部[]中,它调用的组件位于顶部,直至达到TCP/IP 注意,此选项可能很耗时,并且在您没有足够权限时可能失败。

-e 显示以太网统计。此选项可以与 -s 选项结合使用。

-n 以数字形式显示地址和端口号。

-o 显示拥有的与每个连接关联的进程 ID。

-p proto 显示 proto 指定的协议的连接;proto 可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选项一起用来显示每个协议的统计,proto 可以是下列任何一个: IP、IPv6、 ICMP、ICMPv6、TCP、TCPv6、UDP或 UDPv6。

-r 显示路由表。

-s 显示每个协议的统计,默认情况下,显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6的统计;-p 选项可用于指定默认的子网。

-t 显示当前连接卸载状态。
interval 重新显示选定的统计,各个显示间暂停的间隔秒数。按 CTRL+C停止重新显示统计。如果省略,则 netstat将打印当前的配置信息一次。
常用netstat -an 查看端口的网络连接情况

端口说明

1)协议
TCP:传输控制协议,传送数据需要建立连接
UDP:用户数据报协议,传送数据不需要先建立连接

2)本地地址和外部地址

2-1)0.0.0.0:135 0.0.0.0:0

0.0.0.0 代表的是匹配所有目标地址,也就是说对外部主机来说,它可以访问本地任意一个IP下的135端口的服务。

135端口 Microsoft的DCE RPC end-point mapper服务(即DCOM服务),为RPC通信提供一种服务端口的映射功能。

3389端口 远程桌面的服务端口。

2-2)127.0.0.1:54360 0.0.0.0:0

127.0.0.1 仅在本地服务,外网无法访问。

2-3)192.168.0.101:4578 140.206.78.20:80

外网140.206.78.20:80主机可以访问本地192.168.0.101的4578端口。

3)状态

LISTENING 监听状态
ESTABLISHED 建立连接

三十六、nslookup

查找网络上域或主机 IP

监测网络中DNS服务器是否能正确实现域名解析的命令行工具
nslookup [-opt …] 使用默认服务器的交互模式
nslookup [-opt …] - server 使用 “server” 的交互模式
nslookup [-opt …] host 仅查找使用默认服务器的 “host”
nslookup [-opt …] host server 仅查找使用 “server” 的 “host”

type 可以指定类型:
A --> 地址记录
ATMA --> ATM地址记录
CNAME --> 别名记录
NS --> 名字服务器记录
PTR -> 反向记录

​ nslookup 域名 根据域名查IP
​ nslookup >set type=PTR> IP 可根据IP反查域名

三十七、pathing

路由跟踪工具,它将 ping 和 tracert 命令的功能和这两个工具所不提供的其他信息结合起来

pathing [-g host-list] [-h maximum_hops] [-i address] [-n] [-p period] [-q num_queries] [-w timeout] [-4] [-6] target_name

-g host-list 与主机列表一起的松散源路由。
-h maximum_hops 搜索目标的最大跃点数。
-i address 使用指定的源地址。
-n 不将地址解析成主机名。
-p period 两次 Ping 之间等待的时间(以毫秒为单位)。
-q num_queries 每个跃点的查询数。
-w timeout 每次回复等待的超时时间(以毫秒为单位)。
-4 强制使用 IPv4。
-6 强制使用 IPv6。

三十八、ping

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
[-4] [-6] target_name

-t Ping 指定的主机,直到停止。
​ 若要查看统计信息并继续操作,请键入 Ctrl+Break;
​ 若要停止,请键入 Ctrl+C。
-a 将地址解析为主机名。
-n count 要发送的回显请求数。
-l size 发送缓冲区大小。
-f 在数据包中设置“不分段”标记(仅适用于 IPv4)。
-i TTL 生存时间。
-v TOS 服务类型(仅适用于 IPv4。该设置已被弃用,
​ 对 IP 标头中的服务类型字段没有任何影响)。
-r count 记录计数跃点的路由(仅适用于 IPv4)。
-s count 计数跃点的时间戳(仅适用于 IPv4)。
-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。
-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。
-w timeout 等待每次回复的超时时间(毫秒)。
-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。
​ 根据 RFC 5095,已弃用此路由标头。
​ 如果使用此标头,某些系统可能丢弃回显请求。
-S srcaddr 要使用的源地址。
-c compartment 路由隔离舱标识符。
-p Ping Hyper-V 网络虚拟化提供程序地址。
-4 强制使用 IPv4。
-6 强制使用 IPv6。

​ ping 命令通常用来检测网络是否正常

三十九、route

操作网络路由表。

ROUTE [-f] [-p] [-4|-6] command [destination]
[MASK netmask] [gateway] [METRIC metric] [IF interface]

-f 清除所有网关项的路由表。如果与某个命令结合使用,在运行该命令前,应清除路由表。
-p 与 ADD 命令结合使用时,将路由设置为在系统引导期间保持不变。默认情况下,重新启动系统时,不保存路由。忽略所有其他命令,这始终会影响相应的永久路由。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
command 其中之一:
PRINT 打印路由
ADD 添加路由
DELETE 删除路由
CHANGE 修改现有路由
destination 指定主机。
MASK 指定下一个参数为“netmask”值。
netmask 指定此路由项的子网掩码值。
如果未指定,其默认设置为 255.255.255.255。
gateway 指定网关。
interface 指定路由的接口号码。
METRIC 指定跃点数,例如目标的成本。用于目标的所有符号名都可以在网络数据库文件 NETWORKS 中进行查找。用于网关的符号名称都可以在主机名称数据库文件 HOSTS 中进行查找。
如果命令为 PRINTDELETE。目标或网关可以为通配符,
(通配符指定为星号“”),否则可能会忽略网关参数。
如果 Dest 包含一个 * 或 ?,则会将其视为 Shell 模式,并且只
打印匹配目标路由。“
”匹配任意字符串,而“?”匹配任意一个字符。*

示例: 157..1、157.、127.*、224
只有在 PRINT 命令中才允许模式匹配。
诊断信息注释:
无效的 MASK 产生错误,即当 (DEST & MASK) != DEST 时。
示例: > route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1
路由添加失败: 指定的掩码参数无效。
(Destination & Mask) != Destination。

route PRINT
route PRINT -4
route PRINT -6
route PRINT 157* … 只打印那些匹配 157* 的项
route ADD 151.0.0.01 MASK 255.0.0.02 157.55.80.13 METRIC 34 IF 25 如果未给出 IF,它将尝试查找给定网关的最佳接口。
route ADD 3ffe::/32 3ffe::1
route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2
CHANGE 只用于修改网关和/或跃点数。
route DELETE 157.0.0.0
route DELETE 3ffe::/32

四十、talent

远程登录服务

telnet 是 teletype network 缩写,是远程登录服务的标准协议,telnet 可以让用户在本地 telnet 客户端上远端登录到远程 Telnet 服务器上。
telnet [-a][-e escape char][-f log file][-l user][-t term][host [port]]

-a 企图自动登录。除了用当前已登陆的用户名以外,与 -l 选项相同。
-e 跳过字符来进入 telnet 客户端提示。
-f 客户端登录的文件名。
-l 指定远程系统上登录用的用户名称。要求远程系统支持 TELNET ENVIRON 选项。
host 指定要连接的远程计算机的主机名或 IP 地址。
port 指定端口号或服务名。
如出现:‘telnet’ 不是内部或外部命令,也不是可运行的程序或批处理文件。是因为Telnet客户端默认是关闭的。
​ 我们可以进入:控制面板-程序和功能-打开或关闭Windows功能-勾选上Telnet客户端

telnet ip:port 可用于检测端口是否能正常访问。

四十一、tracert

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
[-R] [-S srcaddr] [-4] [-6] target_name

-d 不将地址解析成主机名。
-h maximum_hops 搜索目标的最大跃点数。
-j host-list 与主机列表一起的松散源路由(仅适用于 IPv4)。
-w timeout 等待每个回复的超时时间(以毫秒为单位)。
-R 跟踪往返行程路径(仅适用于 IPv6)。
-S srcaddr 要使用的源地址(仅适用于 IPv6)。
-4 强制使用 IPv4。
-6 强制使用 IPv6。

命令用 IP 生存时间 TTL 字段和 ICMP 错误信息来确定从一个主机到网络上其他主机之间的路由。

四十二、color

设置默认的控制台前景和背景颜色。

COLOR [attr]

attr 指定控制台输出的颜色属性。
颜色属性由两个十六进制数字指定
第一个对应于背景,第二个对应于前景。
​ 若只有一个值,则为前景色

每个数字可以为以下任何值:

​ 0 = 黑色 8 = 灰色
​ 1 = 蓝色 9 = 淡蓝色
​ 2 = 绿色 A = 淡绿色
​ 3 = 浅绿色 B = 淡浅绿色
​ 4 = 红色 C = 淡红色
​ 5 = 紫色 D = 淡紫色
​ 6 = 黄色 E = 淡黄色
​ 7 = 白色 F = 亮白色

​ 如果没有给定任何参数,此命令会将颜色还原到 CMD.EXE 启动时的颜色。这个值来自当前控制台口、/T 命令行开关DefaultColor 注册表值。

​ 如果尝试使用相同的前景和背景颜色来执行 COLOR 命令,COLOR 命令会将 ERRORLEVEL 设置为 1。

​ 示例: “COLOR fc” 在亮白色上产生淡红色

四十三、for

对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN (set) DO command [command-parameters]

%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。

在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I。

如果启用命令扩展,则会支持下列 FOR 命令的其他格式:

1) FOR /D %variable IN (set) DO command [command-parameters]

​ 如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。

2) FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

​ 检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
​ 如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符。则枚举该目录树。

3) FOR /L %variable IN (start,step,end) DO command [command-parameters]

​ 该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列1 2 3 4 5,(5,-1,1) 将产生序列 (5 4 3 2 1)

4) FOR /F [“options”] %variable IN (file-set) DO command [command-parameters]

5) FOR /F [“options”] %variable IN (“string”) DO command [command-parameters]

6) FOR /F [“options”] %variable IN (‘command’) DO command [command-parameters]

​ 或者,如果有 usebackq 选项:

1) FOR /F [“options”] %variable IN (file-set) DO command [command-parameters]

2) FOR /F [“options”] %variable IN (“string”) DO command [command-parameters]

3) FOR /F [“options”] %variable IN (‘command’) DO command [command-parameters]

fileset 为一个或多个文件名。继续到 fileset 中的下一个文件之前,每份文件都被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。然后用已找到的符号字符串变量值调用 For 循环。

以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。跳过空白行。
你可通过指定可选 “options” 参数替代默认解析操作。这个带引号的字符串包括一个或多个指定不同解析选项的关键字。

这些关键字为:
eol=c - 指一个行注释字符的结尾(就一个)
skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。这个替换了空格和制表符的默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的 for 本身。这会导致额外变量名称的分配。m-n格式为一个范围。通过 nth 符号指定 mth。如果符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后分配并接受行的保留文本。
usebackq - 指定新语法已在下类情况中使用:
在作为命令执行一个后引号的字符串并且一个单引号字符为文字字符串命令并允许在 file-set中使用双引号扩起文件名称。

FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k

​ 会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将
​ 每行中的第二个和第三个符号传递给 for 函数体,用逗号和/或
​ 空格分隔符号。请注意,此 for 函数体的语句引用 %i 来
​ 获得第二个符号,引用 %j 来获得第三个符号,引用 %k
​ 来获得第三个符号后的所有剩余符号。对于带有空格的文件
​ 名,你需要用双引号将文件名括起来。为了用这种方式来使
​ 用双引号,还需要使用 usebackq 选项,否则,双引号会
​ 被理解成是用作定义某个要分析的字符串的。
​ %i 在 for 语句中显式声明,%j 和 %k 是通过
​ tokens= 选项隐式声明的。可以通过 tokens= 一行
​ 指定最多 26 个符号,只要不试图声明一个高于字母 “z” 或
​ “Z” 的变量。请记住,FOR 变量是单一字母、分大小写和全局的变量;
​ 而且,不能同时使用超过 52 个。
​ 还可以在相邻字符串上使用 FOR /F 分析逻辑,方法是,
​ 用单引号将括号之间的 file-set 括起来。这样,该字符
​ 串会被当作一个文件中的一个单一输入行进行解析。
​ 最后,可以用 FOR /F 命令来分析命令的输出。方法是,将
​ 括号之间的 file-set 变成一个反括字符串。该字符串会
​ 被当作命令行,传递到一个子 CMD.EXE,其输出会被捕获到
​ 内存中,并被当作文件分析。

如以下例子所示:

​ FOR /F “usebackq delims==” %i IN (`set`) DO @echo %i
​ 会枚举当前环境中的环境变量名称。

另外,FOR 变量参照的替换已被增强。你现在可以使用下列

%~I - 删除任何引号("),扩展 %I
%~fI - 将 %I 扩展到一个完全合格的路径名
%~dI - 仅将 %I 扩展到一个驱动器号
%~pI - 仅将 %I 扩展到一个路径
%~nI - 仅将 %I 扩展到一个文件名
%~xI - 仅将 %I 扩展到一个文件扩展名
%~sI - 扩展的路径只含有短名
%~aI - 将 %I 扩展到文件的文件属性
%~tI - 将 %I 扩展到文件的日期/时间
%~zI - 将 %I 扩展到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩展到空字符串

可以组合修饰符来得到多重结果:

%~dpI - 仅将 %I 扩展到一个驱动器号和路径
%~nxI - 仅将 %I 扩展到一个文件名和扩展名
%~fsI - 仅将 %I 扩展到一个带有短名的完整路径名
%~dp$PATH:I - 搜索列在路径环境变量的目录,并将 %I 扩展到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩展到类似输出线路的 DIR
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法用一个有效的 FOR 变量名终止。选取类似 %I 的大写 变量名比较易读,而且避免与不分大小写的组合键混淆。

四十四、goto

将 cmd.exe 定向到批处理程序中带标签的行。

GOTO label

label 指定批处理程序中用作标签的文字字符串。

​ 标签必须单独一行,并且以冒号打头。

如果命令扩展被启用,GOTO 会如下改变:

GOTO 命令现在接受目标标签 :

EOF,这个标签将控制转移到当前批脚本文件的结尾。不定义就退出批脚本文件,这是一个容易的办法。

四十五:call

从批处理程序调用另一个批处理程序。

CALL [drive:][path]filename [batch-parameters]

batch-parameters 指定批处理程序所需的命令行信息。

如果命令扩展被启用,CALL 会如下改变:

CALL 命令现在将卷标当作 CALL 的目标接受。语法是:
CALL:label arguments

一个新的批文件上下文由指定的参数所创建,控制在卷标被指定
后传递到语句。你必须通过达到批脚本文件末两次来 “exit” 两次。
第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次
会退出批脚本。键入 GOTO /?

另外,批脚本文本参数参照(%0、%1、等等)已如下改变:

​ 批脚本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 …)
​ 批参数(%n)的替代已被增强。你可以使用以下语法:
%~1 - 删除引号("),扩展 %1
%~f1 - 将 %1 扩展到一个完全合格的路径名
%~d1 - 仅将 %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 可以被其他有效数值替换。

%~ 语法被一个有效参数号码终止。

%~ 修定符不能跟 %*使用。

四十六、if

执行批处理程序中的条件处理。

IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command

NOT 指定只有条件为 false 的情况下,Windows 才应该执行该命令。
ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出代码,指定条件为 true。
string1==string2 如果指定的文字字符串匹配,指定条件为true。
EXIST filename 如果指定的文件名存在,指定条件为 true。
command 如果符合条件,指定要执行的命令。如果指定的条件为 FALSE,命令后可跟 ELSE 命令,该命令将在 ELSE 关键字之后执行该命令。

ELSE 子句必须出现在同一行上的 IF 之后

例如:
IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)

^ 表示续航

由于 del 命令需要用新的一行终止,因此以下子句不会有效:
IF EXIST filename. del filename. ELSE echo filename. missing
由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也不会有效:
IF EXIST filename. del filename.
ELSE echo filename. missing
如果都放在同一行上,以下子句有效:
IF EXIST filename. (del filename.) ELSE echo filename. missing
如果命令扩展被启用,IF 会如下改变:
IF [/I] string1 compare-op string2 command
IF CMDEXTVERSION number command
IF DEFINED variable command
其中, compare-op 可以是:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于

/I 开关(如果指定)说明要进行的字符串比较不分大小写。
/I 开关可以用于 IF 的 string1==string2 的形式上。这些
比较都是通用的;原因是,如果 string1 和 string2 都是
由数字组成的,字符串会被转换成数字,进行数字比较。

CMDEXTVERSION 条件的作用跟 ERRORLEVEL 的一样,除了它是在跟与命令扩展有关联的内部版本号比较。第一个版本是 1。每次对命令扩展有相当大的增强时,版本号会增加一个。命令扩展被停用时,CMDEXTVERSION 条件不是真的。

如果已定义环境变量,DEFINED 条件的作用跟 EXIST 的一样,除了它取得一个环境变量,返回的结果是 true。

如果没有名为 ERRORLEVEL 的环境变量,%ERRORLEVEL%
会扩充为 ERROLEVEL 当前数值的字符串表达式;否则,你会得到其数值。运行程序后,以下语句说明 ERRORLEVEL 的用法:
goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
你也可以使用以上的数字比较:
IF %ERRORLEVEL% LEQ 1 goto okay
如果没有名为 CMDCMDLINE 的环境变量,%CMDCMDLINE%
将在 CMD.EXE 进行任何处理前扩充为传递给 CMD.EXE 的原始
命令行;否则,你会得到其数值。

如果没有名为 CMDEXTVERSION 的环境变量,%CMDEXTVERSION% 会扩充为 CMDEXTVERSION 当前数值的字串符表达式;否则,你会得到其数值。

四十七、pause

暂停批处理程序,并显示以下消息:
要显示其他提示语,可以用:echo 其他提示语 & pause > nul

四十八、set

显示、设置或删除 cmd.exe 环境变量。

SET [variable=[string]]

variable 指定环境变量名。
string 指定要指派给变量的一系列字符串。

set中冒号+~符号(:~)表示截取字符串。
要显示当前环境变量,键入不带参数的 SET。
如果命令扩展被启用,SET 会如下改变:
可仅用一个变量激活 SET 命令,等号或值不显示所有前缀,匹配SET 命令已使用的名称的所有变量的值。例如:
​ SET P
会显示所有以字母 P 打头的变量
如果在当前环境中找不到该变量名称,SET 命令将把 ERRORLEVEL 设置成 1。
SET 命令不允许变量名含有等号。

在 SET 命令中添加了两个新命令行开关:
SET /A expression
SET /P variable=[promptString]

/A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式评估器很简单并以递减的优先权顺序支持下列操作:
() - 分组
! ~ - - 一元运算符
* / % - 算数运算符
+ - - 算数运算符
<< >> - 逻辑移位
& - 按位“与”
^ - 按位“异”
| - 按位“或”
= *= /= %= += -= - 赋值
&= ^= |= <<= >>=
, - 表达式分隔符
如果你使用任何逻辑或取余操作符, 你需要将表达式字符串用
引号扩起来。在表达式中的任何非数字字符串键作为环境变量
名称,这些环境变量名称的值已在使用前转换成数字。如果指定
了一个环境变量名称,但未在当前环境中定义,那么值将被定为
零。这使你可以使用环境变量值做计算而不用键入那些 % 符号
来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的,
那么它显示该表达式的最后值。该分配的操作符在分配的操作符
左边需要一个环境变量名称。除十六进制有 0x 前缀,八进制
有 0 前缀的,数字值为十进位数字。因此,0x12 与 18 和 022
相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字,因为 8 和 9 不是有效的八进制位数。(& )

/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入行之前,显示指定的 promptString。promptString 可以是空的。

环境变量替换已如下增强:
%PATH:str1=str2%
会扩展 PATH 环境变量,用 “str2” 代替扩展结果中的每个 “str1”。
要有效地从扩展结果中删除所有的 “str1”,“str2” 可以是空的。
“str1” 可以以星号打头;在这种情况下,“str1” 会从扩展结果的
开始到 str1 剩余部分第一次出现的地方,都一直保持相配。
也可以为扩展名指定子字符串。
%PATH:~10,5%
会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏
移量 10)字符开始的五个字符。如果没有指定长度,则采用默认
值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,
使用的数字则是环境变量数值长度加上指定的偏移量或长度。
%PATH:~-10%
会提取 PATH 变量的最后十个字符。
%PATH:~0,-2%
会提取 PATH 变量的所有字符,除了最后两个。
终于添加了延迟环境变量扩充的支持。
该支持总是按默认值被停用,但也可以通过 CMD.EXE 的 /V 命令行开关而被启用/停用。
考虑到读取一行文本时所遇到的目前扩充的限制时,延迟环境
变量扩充是很有用的,而不是执行的时候。
以下例子说明直接变量扩充的问题:

set VAR=before
if “%VAR%” == “before” (
set VAR=after
if “%VAR%” == “after” @echo If you see this, it worked )

不会显示消息,因为在读到第一个 IF 语句时,BOTH IF 语句中的 %VAR% 会被代替;
原因是: 它包含 IF 的文体,IF 是一个复合语句。所以,复合语句中的 IF 实际上是在比较 “before"和"after”,这两者永远不会相等。同样,以下这个例子也不会达到预期效果:

set LIST=
for% i in (*) do set LIST=%LIST%%i
echo%LIST%

原因是,它不会在目前的目录中建立一个文件列表,而只是将LIST 变量设成找到的最后一个文件。这也是因为 %LIST% 在FOR 语句被读取时,只被扩充了一次;而且,那时的 LIST 变量是空的。
因此,我们真正执行的 FOR 循环是:

for% i in (*) do set LIST= %i

这个循环继续将 LIST 设成找到的最后一个文件。

延迟环境变量扩充允许你使用一个不同的字符(惊叹号)在执行时间扩充环境变量。如果延迟的变量扩充被启用,可以将上面例子写成以下所示,以达到预期效果:

set VAR=before
if “%VAR%” == “before” (
set VAR=after
if “!VAR!” == “after” @echo If you see this, it worked
)

set LIST=
for% i in (*) do set LIST=!LIST! %i
echo %LIST%

如果命令扩展被启用,有几个动态环境变量可以被扩展,但不会出现在 SET 显示的变量列表中。每次变量数值被扩展时,这些变量数值都会被动态计算。如果用户用这些名称中任何一个明确定义变量,那个定义会替代下面描述的动态定义:

%CD% - 扩展到当前目录字符串。

%DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。

%TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。

%RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。

%ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。

%CMDEXTVERSION% - 扩展到当前命令处理器扩展版本号。

%CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。

%HIGHESTNUMANODENUMBER% - 扩展到此计算机上的最高 NUMA 节点号。

四十九、cmd

启动 另一个Windows 命令解释器窗口

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF][[/S] [/C | /K] string]
/C 执行字符串指定的命令然后终止
/K 执行字符串指定的命令但保留
/S 修改 /C 或 /K 之后的字符串处理(见下)
/Q 关闭回显
/D 禁止从注册表执行 AutoRun 命令(见下)
/A 使向管道或文件的内部命令输出成为 ANSI
/U 使向管道或文件的内部命令输出成为 Unicode
/T:fg 设置前台/背景颜色(详细信息见 COLOR /?)
/E:ON 启用命令扩展(见下)
/E:OFF 禁用命令扩展(见下)
/F:ON 启用文件和目录名完成字符(见下)
/F:OFF 禁用文件和目录名完成字符(见下)
/V:ON 使用 ! 作为分隔符启用延迟的环境变量
扩展。例如,/V:ON 会允许 !var! 在执行时
扩展变量 var。var 语法会在输入时
扩展变量,这与在一个 FOR循环内不同。
/V:OFF 禁用延迟的环境扩展。
注意,如果字符串加有引号,可以接受用命令分隔符 “&&”
分隔多个命令。另外,由于兼容性原因,/X 与 /E:ON 相同,
/Y 与 /E:OFF 相同,且 /R 与/C 相同。任何其他开关都将被忽略。
如果指定了 /C 或 /K,则会将该开关之后的命令行的剩余部分
作为一个命令行处理,其中,会使用下列逻辑处理引号(")字符:

1. 如果符合下列所有条件,则会保留命令行上的引号字符:

​ - 不带 /S 开关
​ - 正好两个引号字符
​ - 在两个引号字符之间无任何特殊字符,
​ 特殊字符指下列字符: &<>()@^|
​ - 在两个引号字符之间至少有一个空格字符
​ - 在两个引号字符之间的字符串是某个可执行文件的名称。

2. 否则,老办法是看第一个字符
​ 是否是引号字符,如果是,则去掉首字符并
​ 删除命令行上最后一个引号,保留
​ 最后一个引号之后的所有文本。

如果 /D 未在命令行上被指定,当 CMD.EXE 开始时,它会寻找
以下 REG_SZ/REG_EXPAND_SZ 注册表变量。如果其中一个或两个都存在,这两个变量会先被执行。
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

命令扩展是按默认值启用的。你也可以使用 /E:OFF ,为某一
特定调用而停用扩展。你可以在机器上和/或用户登录会话上
启用或停用 CMD.EXE 所有调用的扩展,这要通过设置使用
REGEDIT.EXE 的注册表中的一个或两个 REG_DWORD 值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions

到 0x1 或 0x0。用户特定设置比机器设置有优先权。命令行开关比注册表设置有优先权。
在批处理文件中,SETLOCAL ENABLEEXTENSIONS 或 DISABLEEXTENSIONS 参数比 /E:ON 或 /E:OFF 开关有优先权。
命令扩展包括对下列命令所做的更改和/或添加:
DEL or ERASE
COLOR
CD or CHDIR
MD or MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (同时包括对外部命令调用所做的更改)
ASSOC
FTYPE
延迟环境变量扩展不按默认值启用。你可以用/V:ON 或 /V:OFF 开关,为 CMD.EXE 的某个调用而启用或停用延迟环境变量扩展。你可以在机器上和/或用户登录会话上启用或停用 CMD.EXE 所有调用的延迟扩展,这要通过设置使用 REGEDIT.EXE 的注册表中的一个或两个 REG_DWORD 值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion

到 0x1 或 0x0。用户特定设置比机器设置有优先权。命令行开关
比注册表设置有优先权。
在批处理文件中,SETLOCAL ENABLEDELAYEDEXPANSION 或 DISABLEDELAYEDEXPANSION 参数比 /V:ON 或 /V:OFF 开关有优先权。

如果延迟环境变量扩展被启用,惊叹号字符可在执行时间被用来代替一个环境变量的数值。
你可以用 /F:ON 或 /F:OFF 开关为 CMD.EXE 的某个调用而启用或禁用文件名完成。你可以在计算上和/或用户登录会话上启用或禁用 CMD.EXE 所有调用的完成,这可以通过使用 REGEDIT.EXE 设置注册表中的下列
REG_DWORD 的全部或其中之一:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

由一个控制字符的十六进制值作为一个特定参数(例如,0x4 是Ctrl-D,0x6 是 Ctrl-F)。
用户特定设置优先于机器设置。
命令行开关优先于注册表设置。
如果完成是用 /F:ON 开关启用的,两个要使用的控制符是:目录名完成用 Ctrl-D,文件名完成用 Ctrl-F。要停用注册表中的某个字符,请用空格(0x20)的数值,因为此字符不是控制字符。如果键入两个控制字符中的一个,完成会被调用。完成功能将路径字符串带到光标的左边,如果没有通配符,将通配符附加到左边,并建立相符的路径列表。然后,显示第一个相符的路径。如果没有相符的路径,则发出嘟嘟声,不影响显示。之后,重复按同一个控制字符会循环显示相符路径的列表。将 Shift 键跟控制字符同时按下,会倒着显示列表。如果对该行进行了任何编辑,并再次按下控制字符,保存的相符路径的列表会被丢弃,新的会被生成。如果在文件和目录名完成之间切换,会发生同样现象。两个控制字符之间的唯一区别是文件完成字符匹配文件和目录名,而目录完成字符只符合目录名。如果文件完成被用于内置式目录命令(CD、MD 或 RD),就会使用目录完成。用引号将相符路径括起来,完成代码可以正确处理含有空格或其他特殊字符的文件名。同时,如果备份,然后从行内调用文件完成,则调用完成时位于光标右方的文字会被弃用。
需要引号的特殊字符是:
<space>
&()[]{}^=;!'+,`~

五十、setlocal

开始批处理文件中环境改动的本地化操作。在执行 SETLOCAL 之后所做的环境改动只限于批处理文件。要还原原先的设置,必须执行 ENDLOCAL。达到批处理文件结尾时,对于该批处理文件的每个尚未执行的 SETLOCAL 命令,都会有一个隐含的 ENDLOCAL 被执行。

SETLOCAL

如果启用命令扩展,则 SETLOCAL 更改如下:

SETLOCAL 批命令现在可以接受可选参数:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
启用或禁用命令处理器扩展。这些参数比 CMD /E:ON 或 /E:OFF开关有优先权。
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
启用或禁用延缓环境变量扩展。这些参数比 CMD /V:ON 或 /V:OFF 开关有优先权。
无论在 SETLOCAL 命令之前的设置是什么,这些修改会一直
生效,直到出现相应的 ENDLOCAL 命令。

在给定参数的情况下,
SETLOCAL 命令将设置 ERRORLEVEL 值。如果给定两个有效参数中的一个,另一个未给定,则该值为零。
通过以下方法,你可以在批脚本中使用此项来确定扩展是否可用:
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Unable to enable extensions

此方法之所以有效,是因为在 CMD.EXE 的旧版本上,SETLOCAL不设置 ERRORLEVEL 值。如果参数不正确,VERIFY 命令会将ERRORLEVEL 值初始化为非零值。

五十一、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 文件扩展名关联的应用程序)。
执行的应用程序是 32 位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示符。如果在命令脚本内执行,该新行为则不会发生。如果执行的命令行的第一个符号是不带扩展名或路径修饰符的字符串 “CMD”, “CMD” 会被 COMSPEC 变量的数值所替换。这防止从当前目录提取 CMD.EXE。如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展名。

PATHEXT 变量的默认值是:
.COM;.EXE;.BAT;.CMD
请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。查找可执行文件时,如果没有相配的扩展名,看一看该名称是否与目录名相配。如果确实如此,START 会在那个路径上调用Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。

五十二、assoc

显示或修改文件扩展名关联

ASSOC [.ext[=[fileType]]]

.ext 指定跟文件类型关联的文件扩展名
fileType 指定跟文件扩展名关联的文件类型

键入 ASSOC 而不带参数,显示当前文件关联。如果只用文件扩展名调用 ASSOC,则显示那个文件扩展名的当前文件关联。如果不为文件类型指定任何参数,命令会删除文件扩展名的关联。

五十三、ftype

显示或修改用在文件扩展名关联中的文件类型

FTYPE [fileType[=[openCommandString]]]
fileType 指定要检查或改变的文件类型
openCommandString 指定调用这类文件时要使用的开放式命令。

键入 FTYPE 而不带参数来显示当前有定义的开放式命令字符串的文件类型。FTYPE 仅用一个文件类型启用时,它显示那个文件类型目前的开放式命令字符串。如果不为开放式命令字符串指定,FTYPE 命令将删除那个文件类型的开放式命令字符串。在一个开放式命令字符串之内,命令字符串 %0 或 %1 被通过关联调用的文件名所代替。%* 得到所有的参数,%2 得到第一个参数,%3 得到第二个,等等。%~n 得到其余所有以 nth 参数打头的参数;n 可以是从 2 到 9 的数字。例如:
ASSOC .pl=PerlScript
FTYPE PerlScript=perl.exe %1 %*

允许你启用以下 Perl 脚本:
script.pl 1 2 3
如果不想键入扩展名,则键入以下字符串:
set PATHEXT=.pl;%PATHEXT%
被启动的脚本如下:
script 1 2 3

五十四、break

设置或清除 DOS 系统的扩展 CTRL+C 检测

这个命令是为了与 DOS 系统的兼容而保留的,在 Windows
里不起作用。

如果命令扩展被启用,并且操作平台是 Windows,BREAK 命令会在被调试程序调试时输入一个硬代码中断点。

五十五、bcdedit

启动配置数据存储编辑器
Bcdedit.exe命令行工具用于修改启动配置数据存储。
启动配置数据存储包含启动配置参数并控制操作系统的启动方式。这些参数以前位于 Boot.ini 文件中(在基于 BIOS 的操作系统中)或位于非易失性 RAM 项中(在基于可扩展固件接口的操作系统中)。可以使用 Bcdedit.exe 在启动配置数据存储中添加、删除、编辑和附加项。

topic

有关本帮助文件中按字母顺序排列的主题列表

若要显示某个主题的帮助,请运行 “bcdedit /? topic”,其中,<topic> 是下列其中一项:

bootdebug /bootdebug 命令。
bootems /bootems 命令。
bootsequence /bootsequence 命令。
copy /copy 命令。
create /create 命令。
createstore /createstore 命令。
dbgsettings /dbgsettings 命令。
debug /debug 命令。
default /default 命令。
delete /delete 命令。
deletevalue /deletevalue 命令。
displayorder /displayorder 命令。
eventsettings /eventsettings 命令。
event /event 命令。
ems /ems 命令。
emssettings /emssettings 命令。
enum /enum 命令。
export /export 命令。
FORMATS 类型的格式。
hypervisorsettings /hypervisorsettings命令。
ID 项的标识符。
import /import 命令。
mirror /mirror 命令。
set /set 命令。
store /store 命令行选项。
timeout /timeout 命令。
toolsdisplayorder /toolsdisplayorder 命令。
TYPES 适用于任何项的类型。
TYPES BOOTAPP 适用于启动应用程序的类型。这些类型包括启动管理器、内存诊断应用程序、Windows 操作系统加载程序和恢复应用程序。
TYPES BOOTMGR 适用于启动管理器的类型。
TYPES BOOTSECTOR 适用于启动扇区应用程序的类型。
TYPES CUSTOMTYPES 自定义类型。
TYPES FWBOOTMGR 适用于固件启动管理器的类型
TYPES MEMDIAG 适用于内存诊断应用程序的类型
TYPES NTLDR 适用于基于 NTLDR 的操作系统加载程序的类型
TYPES OSLOADER 适用于 Windows 操作系统加载程序的类型
TYPES RESUME 适用于恢复应用程序的类型
v /v 命令行选项

对存储执行的命令

/store 用于指定当前系统默认值以外的 BCD 存储。
/createstore 新建空的启动配置数据存储。创建的存储不是系统存储。 (如果创建的文件名包含空格,则必须将其包含在“”中。)
/export 将系统存储的内容导出到文件。以后可以使用该文件还原系统存储的状态。
/import 使用 /export 命令创建的备份文件来还原系统存储的状态。
/sysstore 设置系统存储设备(仅影响 EFI 系统,在重新启动后不再保留,且仅用于系统存储设备不确定的情况下)。

对存储中的项执行的命令

/copy 复制存储中的项。
/create 在存储中创建新项。
/delete 删除存储中的项。
/mirror 创建存储中项的镜像。

对项选项执行的命令

/deletevalue 删除存储中的项选项。
/set 设置存储中的项选项值。
运行 bcdedit /? TYPES6 可获得这些命令使用的数据类型的列表。
运行 bcdedit /? FORMATS7 可获得有效数据格式的列表。

控制输出的命令

/enum 列出存储中的项。
/v 命令行选项,完整显示项标识符,
而不是使用已知标识符的名称。
单独使用命令 /v 可完整显示 ACTIVE 类型的项标识符。
单独运行 “bcdedit” 等同于运行 “bcdedit /enum ACTIVE”。

控制启动管理器的命令

/bootsequence 为启动管理器设置一次性启动序列。
/default 设置启动管理器将使用的默认项。
/displayorder 设置启动管理器显示多重启动菜单的顺序。
/timeout 设置启动管理器的超时值。
/toolsdisplayorder 设置启动管理器显示工具菜单的顺序。

控制启动应用程序紧急管理服务的命令

/bootems 启用或禁用启动应用程序的紧急管理服务。
/ems 启用或禁用操作系统项的紧急管理服务。
/emssettings 设置全局紧急管理服务参数。

控制调试的命令

/bootdebug 启用或禁用启动应用程序的启动调试。
/dbgsettings 设置全局调试程序参数。
/debug 启用或禁用操作系统项的内核调试。
/hypervisorsettings 设置虚拟机监控程序的参数。

控制远程事件日志记录的命令

/eventsettings 设置全局远程事件日志记录参数。
/event 启用或禁用操作系统项的远程事件日志记录。

ID8 可获得有关这些命令使用的标识符的信息。

五十六、cacls

注意: 不推荐使用 Cacls,请使用 Icacls。

显示或者修改文件的访问控制列表(ACL)

CACLS filename [/T] [/M] [/L] [/S[:SDDL]] [/E] [/C] [/G user:perm] [/R user […]] [/P user:perm […]] [/D user […]]
filename 显示 ACL。
/T 更改当前目录及其所有子目录中
指定文件的 ACL。
/L 对照目标处理符号链接本身
/M 更改装载到目录的卷的 ACL
/S 显示 DACL 的 SDDL 字符串。
/S:SDDL 使用在 SDDL 字符串中指定的 ACL 替换 ACL。
(/E、/G、/R、/P 或 /D 无效)。
/E 编辑 ACL 而不替换。
/C 在出现拒绝访问错误时继续。
/G user:perm 赋予指定用户访问权限。
Perm 可以是: R 读取
W 写入
C 更改(写入)
F 完全控制
/R user 撤销指定用户的访问权限(仅在与 /E 一起使用时合法)。
/P user:perm 替换指定用户的访问权限。
Perm 可以是:N
R 读取
W 写入
C 更改(写入)
F 完全控制
/D user 拒绝指定用户的访问。
在命令中可以使用通配符指定多个文件。
也可以在命令中指定多个用户。

缩写:
CI - 容器继承。
ACE 会由目录继承。
OI - 对象继承。
ACE 会由文件继承。
IO - 只继承。
ACE 不适用于当前文件/目录。
ID - 已继承。
ACE 从父目录的 ACL 继承。

五十七、chcp

显示或设置活动代码页编号。

CHCP [nnn]

nnn 指定代码页编号。

不带参数键入 CHCP 以显示活动代码页编号。

五十八、chdir

显示当前目录名或改变当前目录。
CHDIR [/D] [drive:][path]
CHDIR […]
CD [/D] [drive:][path]
CD […]
指定要改成父目录。
键入 CD drive: 显示指定驱动器中的当前目录。
不带参数只键入 CD,则显示当前驱动器和目录。
使用 /D 开关,除了改变驱动器的当前目录之外,
还可改变当前驱动器。
如果命令扩展被启用,CHDIR 会如下改变:
当前的目录字符串会被转换成使用磁盘名上的大小写。所以,
如果磁盘上的大小写如此,CD C:\TEMP 会将当前目录设为
C:\Temp。
CHDIR 命令不把空格当作分隔符,因此有可能将目录名改为一个
带有空格但不带有引号的子目录名。例如:
cd \winnt\profiles\username\programs\start menu
与下列相同:
cd “\winnt\profiles\username\programs\start menu”

在扩展停用的情况下,你必须键入以上命令。

五十九、cls

清除屏幕。

六十、comp

比较两个文件或两个文件集的内容。

COMP [data1] [data2] [/D] [/A] [/L] [/N=number] [/C] [/OFF[LINE]] [/M]

data1 指定要比较的第一批文件的位置和名称。
data2 指定要比较的第二批文件的位置和名称。
/D 以十进制格式显示差异。
/A 以 ASCII 字符显示差异。
/L 显示不同的行数。
/N=number 只比较每个文件中第一个指定的行数。
/C 比较文件时 ASCII 字母不区分大小写。
/OFF[LINE] 不要跳过带有脱机属性集的文件。
/M 不提示比较更多文件。

要比较文件集,请在 data1 和 data2 参数中使用通配符。

六十一、compact

显示或改变 NTFS 分区上文件的压缩。

COMPACT [/C | /U] [/S[:dir]] [/A] [/I] [/F] [/Q] [/EXE[:algorithm]] [/CompactOs[:option] [/WinDir:dir]] [filename […]]

/C 压缩指定的文件。将对目录进行标记,以便压缩随后添加的文件,除非 /EXE已指定。
/U 解压缩指定的文件。将对目录进行标记,这样就不会压缩随后添加的文件。如果指定了 /EXE,则只有压缩为可执行文件的文件才会进行解压缩;如果省略此项,则只有 NTFS 压缩文件才会进行解压缩。
/S 对给定目录和所有子目录中的文件执行指定的操作。默认 “dir” 是当前目录。
/A 显示包含隐藏属性或系统属性的文件。默认情况下,些文件将被省略。
/I 即使在出现错误后也继续执行指定的操作。默认情况下,COMPACT 将在遇到错误时停止。
/F 对所有指定文件强制执行压缩操作,即使是已压缩的文件也是如此。默认情况下,将跳过已压缩的文件。
/Q 仅报告最重要的信息。
/EXE 使用针对经常读取但未修改的可执行文件优化的压缩。支持的算法是:
XPRESS4K (最快速) (默认)
XPRESS8K
XPRESS16K
LZX (压缩程度最高)
/CompactOs 设置或查询系统的压缩状态。支持的选项包括:
query - 查询系统的压缩状态。
always - 压缩所有 OS 二进制文件并将系统状态设置为"压缩",这种状态一直保持到管理员更改它。
never - 解压缩所有 OS 二进制文件并将系统状态设置为"未压缩",这种状态一直保持到管理员更改它。
/WinDir 在查询脱机 OS 时与 /CompactOs:query 一起使用。指定Windows 所安装到的目录。
filename 指定模式、文件或目录。

不跟参数一起使用时,COMPACT 显示当前目录及其所含文件的压缩状态。你可以使用多个文件名和通配符。在多个参数之间必须加空格。

六十二、diskpart

显示或分配磁盘属性

六十三、dirverquery

DRIVERQUERY [/S system [/U username [/P [password]]]] [/FO format] [/NH] [/SI] [/V]
允许管理员显示已安装设备驱动程序的列表。
/S system 指定要连接到的远程系统。
/U [domain]user 执行命令执行的用户上下文。
/P [password] 指定所给用户上下文的密码。
/FO format 指定要显示的结果类型。
与命令行开关一起传递的有效值
是 “TABLE”、“LIST”、" CSV"。
/NH 指定“列标题”不应该在屏幕输出中出现。
只对 “TABLE” 和 “CSV” 格式有效。
/SI 提供有关已签名驱动程序的信息。
/V 显示详细任务输出。对签名的驱动程序无效。
/? 显示该帮助消息。
示例:
DRIVERQUERY
DRIVERQUERY /FO CSV /SI
DRIVERQUERY /NH
DRIVERQUERY /S ipaddress /U user /V
DRIVERQUERY /S system /U domain\user /P password /FO LIST

六十四、endlocal

结束批处理文件中环境改动的本地化操作。在执行ENDLOCAL 之后所做的环境改动不再仅限于批处理文件。批处理文件结束后,原先的设置无法还原。

如果命令扩展被启用,ENDLOCAL 会如下改变:

如果相应的 SETLOCAL 用新的 ENABLEEXTENSIONS 或
DISABLEEXTENSIONS 选项启用或停用了命令扩展,那么,在
ENDLOCAL 之后,命令扩展的启用/停用状态会还原到执行相应的 SETLOCAL 命令前的状态。

六十五、erase

删除一个或多个文件。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

names 指定一个或多个文件或者目录列表。
通配符可用来删除多个文件。
如果指定了一个目录,该目录中的所
有文件都会被删除。
/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 删除所有子目录中的指定的文件。
/Q 安静模式。删除全局通配符时,不要求确认
/A 根据属性选择要删除的文件
属性 R 只读文件 S 系统文件
H 隐藏文件 A 准备存档的文件
I 无内容索引文件 L 重新分析点
O 脱机文件 - 表示“否”的前缀
如果命令扩展被启用,DEL 和 ERASE 更改如下:
/S 开关的显示句法会颠倒,即只显示已经删除的文件,而不显示找不到的文件。

六十六、fc

比较两个文件或两个文件集并显示它们之间的不同

FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn] [drive1:][path1]filename1 [drive2:][path2]filename2
FC /B [drive1:][path1]filename1 [drive2:][path2] filename2
/A 只显示每个不同处的第一行和最后一行。
/B 执行二进制比较。
/C 不分大小写。
/L 将文件作为 ASCII 文字比较。
/LBn 将连续不匹配的最大值设置为指定的行数。
/N 在 ASCII 比较上显示行数。
/OFF[LINE] 不要跳过带有脱机属性集的文件。
/T 不要将制表符扩充到空格。
/U 将文件作为 UNICODE 文本文件比较。
/W 为了比较而压缩空白(制表符和空格)。
/nnnn 指定不匹配处后必须连续匹配的行数。
[drive1:][path1=]filename1
指定要比较的第一个文件或第一个文件集。
[drive2:][path2]filename2
指定要比较的第二个文件或第二个文件集。

六十七、fsutil

/? 是无效参数。
支持的命令

8dot3name 8dot3name 管理
behavior 控制文件系统行为
dax Dax 卷管理
dirty 管理卷更改位
file 文件特定命令
fsInfo 文件系统信息
hardlink 硬链接管理
objectID 对象 ID 管理
quota 配额管理
repair 自愈管理
reparsePoint 重分析点管理
storageReserve 存储保留管理
resource 事务性资源管理器管理
sparse 稀疏文件控制
tiering 存储分层属性管理
transaction 事务管理
usn USN 管理
volume 卷管理
wim 透明 wim 托管管理

六十八、gpresult

GPRESULT [/S system [/U username [/P [password]]]] [/SCOPE scope] [/USER targetusername] [/R | /V | /Z]

描述:
此命令行工具显示目标用户和计算机的策略结果集 (RSoP) 的信息。

参数列表:
/S system 指定要连接到的远程系统。
/U [domain]user 指定命令应在其下执行的
/P [password] 为给定的用户上下文指定密码。如果省
略则提示输入。
/SCOPE scope 指定是显示用户还是计算机设置。
有效值: “USER”,“COMPUTER”。
/USER [domain]user 指定要显示 RSOP 的用户名。
将显示 RSoP 数据。
/R 显示 RSoP 摘要数据。
/V 指定要显示详细信息。详细信息提供
已经应用的、优先权是 1 的详细设置。
/Z 指定显示超详细信息。超详细信息提供其 他详细设置,用 1 或更高的优先权应用于 此设置。这允许你查看是否在多处设置了 某一设置。请参阅组策略联机帮助主题获 得更多信息。
/? 显示该帮助消息。
示例:
GPRESULT /R
GPRESULT /USER targetusername /V
GPRESULT /S system /USER targetusername /SCOPE COMPUTER /Z
GPRESULT /S system /U username /P password /SCOPE USER /V

六十九、graftabl

GRAFTABL 使 Windows 在图形模式下显示扩展字符集。

七十、help

提供 Windows 命令的帮助信息

七十一、icacls

ICACLS name /save aclfile [/T] [/C] [/L] [/Q]
将匹配名称的文件和文件夹的 DACL 存储到 aclfile 中
以便将来与 /restore 一起使用。请注意,未保存 SACL、
所有者或完整性标签。
ICACLS directory [/substitute SidOld SidNew […]] /restore aclfile [/C] [/L] [/Q]
将存储的 DACL 应用于目录中的文件。
ICACLS name /setowner user [/T] [/C] [/L] [/Q]
更改所有匹配名称的所有者。该选项不会强制更改所有
身份;使用 takeown.exe 实用程序可实现该目的。
ICACLS name /findsid Sid [/T] [/C] [/L] [/Q]
查找包含显式提及 SID 的 ACL 的所有匹配名称。
ICACLS name /verify [/T] [/C] [/L] [/Q]
查找其 ACL 不规范或长度与 ACE 计数不一致的所有文件。
ICACLS name /reset [/T] [/C] [/L] [/Q]
为所有匹配文件使用默认继承的 ACL 替换 ACL。
ICACLS name [/grant[:r] Sid:perm[…]]
[/deny Sid:perm […]]
[/remove[:g|:d]] Sid[…]] [/T] [/C] [/L] [/Q]
[/setintegritylevel Level:policy[…]]

/grant[:r] Sid:perm 授予指定的用户访问权限。
如果使用 :r,这些权限将替换以前授予的所有
​ 显式权限。
​ 如果不使用 :r,这些权限将添加到以前授予的
​ 所有显式权限。
/deny Sid:perm 显式拒绝指定的用户访问权限。
​ 将为列出的权限添加显式拒绝 ACE,
​ 并删除所有显式授予的权限中的相同权限。
/remove[:[g|d]] Sid 删除 ACL 中所有出现的 SID。使用
:g,将删除授予该 SID 的所有权限。使用
:d,将删除拒绝该 SID 的所有权限。
​ ==/setintegritylevel [(CI)(OI)]==级别将完整性 ACE 显式
​ 添加到所有匹配文件。要指定的级别为以下级别
​ 之一:
​ L[ow]
​ M[edium]
​ H[igh]
​ 完整性 ACE 的继承选项可以优先于级别,但只应用于目录。
/inheritance:e|d|r
e - 启用继承
d - 禁用继承并复制 ACE
r - 删除所有继承的 ACE
注意:
​ Sid 可以采用数字格式或友好的名称格式。如果给定数字格式,
​ 那么请在 SID 的开头添加一个 *。
/T 指示在以该名称指定的目录下的所有匹配文件/目录上
​ 执行此操作。
/C 指示此操作将在所有文件错误上继续进行。
​ 仍将显示错误消息。
/L 指示此操作在符号链接本身而不是其目标上执行。
/Q 指示 icacls 应该禁止显示成功消息。
ICACLS 保留 ACE 项的规范顺序:
​ 显式拒绝
​ 显式授予
​ 继承的拒绝
​ 继承的授予
perm 是权限掩码,可以指定两种格式之一:
​ 简单权限序列:
N - 无访问权限
F - 完全访问权限
M - 修改权限
RX - 读取和执行权限
R - 只读权限
W - 只写权限
D - 删除权限
​ 在括号中以逗号分隔的特定权限列表:
DE - 删除
RC - 读取控制
WDAC - 写入 DAC
WO - 写入所有者
S - 同步
AS - 访问系统安全性
MA - 允许的最大值
GR - 一般性读取
GW - 一般性写入
GE - 一般性执行
GA - 全为一般性
RD - 读取数据/列出目录
WD - 写入数据/添加文件
AD - 附加数据/添加子目录
REA - 读取扩展属性
WEA - 写入扩展属性
X - 执行/遍历
DC - 删除子项
RA - 读取属性
WA - 写入属性
​ 继承权限可以优先于每种格式,但只应用于目录:
(OI) - 对象继承
(CI) - 容器继承
(IO) - 仅继承
(NP) - 不传播继承
(I) - 从父容器继承的权限
示例:
icacls c:\windows\* /save AclFile /T
​ - 将 c:\windows 及其子目录下所有文件的 ACL 保存到 AclFile。
icacls c:\windows\ /restore AclFile
​ - 将还原 c:\windows 及其子目录下存在的 AclFile 内所有文件的 ACL。
icacls file /grant Administrator:(D,WDAC)
​ - 将授予用户对文件删除和写入 DAC 的管理员 权限。
icacls file /grant *S-1-1-0:(D,WDAC)
​ - 将授予由 sid S-1-1-0 定义的用户对文件删除和写入 DAC 的权限。

七十二、mode

配置系统设备。

串行端口: MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]
[to=on|off] [xon=on|off] [odsr=on|off]
[octs=on|off] [dtr=on|off|hs]
[rts=on|off|hs|tg] [idsr=on|off]

设备状态: MODE [device] [/STATUS]

打印重定向: MODE LPTn[:]=COMm[:]

选择代码页: MODE CON[:] CP SELECT=yyy

代码页状态: MODE CON[:] CP [/STATUS]

显示模式: MODE CON[:] [COLS=c] [LINES=n]

击键率: MODE CON[:] [RATE=r DELAY=d]

七十三、mklink

创建符号链接。
MKLINK [[/D] | [/H] | [/J]] Link Target
/D 创建目录符号链接。默认为文件符号链接。
/H 创建硬链接而非符号链接。
/J 创建目录联接。
Link 指定新的符号链接名称。
Target 指定新链接引用的路径(相对或绝对)。

七十四、openfiles

OPENFILES /parameter [arguments]
允许管理员列出系统上已打开的文件和文件夹或与其断开连接。
/Disconnect 中断至少一个打开的文件的连接。
/Query 显示所有从本地或从共享文件夹打开的文件。
/Local 启用 / 禁用本地打开文件的显示。
/? 显示此帮助消息。
OPENFILES /Disconnect /?
OPENFILES /Query /?
OPENFILES /Local /?

七十五、popd

更改到 PUSHD 命令存储的目录。
如果命令扩展被启用,从推目录堆栈 POPD 驱动器时,POPD
命令会删除 PUSHD 创建的临时驱动器号。

七十六、print

打印文本文件。

PRINT [/D:device] [[drive:][path]filename[…]]

/D:device 指定打印设备。

七十七、prompt

更改 cmd.exe 命令提示符。

PROMPT [text]

text 指定新的命令提示符。

提示符可以由普通字符及下列特殊代码组成:

$A & (与号)
$B | (坚线)
$C ( (左括号)
$D 当前日期
$E 转义码(ASCII 码 27)
$F ) (右括号)
$G > (大于号)
$H Backspace (删除前一个字符)
$L < (小于号)
$N 当前驱动器
$P 当前驱动器及路径
$Q = (等号)
$S (空格)
$T 当前时间
$V Windows 版本号
$_ 回车换行符
$$ $ (美元符号)

如果命令扩展被启用,PROMPT 命令会支持下列格式化字符:

$+ 根据 PUSHD 目录堆栈的深度,零个或零个以上加号(+)字符,一个推的层一个字符。
$M 如果当前驱动器不是网络驱动器,显示跟当前驱动器号或空字符串有关联的远程名。

七十八、pushd

保存当前目录以供 POPD 命令使用,然后改到指定的目录。

PUSHD [path | …]

path 指定要成为当前目录的目录。

如果命令扩展被启用,除了一般驱动器号和路径,PUSHD 命令还接受网络路径。如果指定了网络路径,PUSHD 将创建一个指向指定网络资源的临时驱动器号,然后再用刚定义的驱动器号更改当前的驱动器和目录。可以从 Z: 往下分配临时驱动器号,使用找到的第一个没有用过的驱动器号。

七十九、recover

从损坏的磁盘中恢复可读取的信息。

RECOVER [drive:][path]filename
在使用 RECOVER 命令之前,请先参阅 Windows 帮助中的联机命令参考。

八十、rename

重命名文件。

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

请注意,你不能为目标文件指定新的驱动器或路径。

八十一、replace

替换文件。

REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]

[drive1:][path1]filename 指定源文件。
[drive2:][path2] 指定要替换文件的目录。
/A 把新文件加入目标目录。不能和/S 或 /U 命令行开 关搭配使用。
/P 替换文件或加入源文件之前会先提示你进行确认。
/R 替换只读文件以及未受保护的文件。
/S 替换目标目录中所有子目录的文件。不能与 /A 命令开关搭配使用。
/W 等你插入磁盘以后再运行。
/U 只会替换或更新比源文件日期早的文件。不能与 /A 命令行开关搭配使用。

八十二、robocopy

Windows 的可靠文件复制
ROBOCOPY source destination [file [file]…] [options]
源目录(驱动器:\路径或\服务器\共享\路径)。
目标 目标目录(驱动器:\路径或\服务器\共享\路径)。
文件 要复制的文件(名称/通配符: 默认为 “.”)。
复制选项
/S 复制子目录,但不复制空的子目录。
/E 复制子目录,包括空的子目录。
/LEV:n 仅复制源目录树的前 n 层。
/Z 在可重新启动模式下复制文件。
/B 在备份模式下复制文件。
/ZB 使用可重新启动模式;如果拒绝访问, 如果拒绝访问,请使用备份模式。
/J 复制时使用未缓冲的 I/O

​ (推荐在复制大文件时使用)。
/EFSRAW 在 EFS RAW 模式下复制所有加密的文件。
/COPY:复制标记 要复制的文件内容(默认为 /COPY:DAT)。
​ (复制标记: D=数据,A=属性,T=时间戳)。
​ (S=安全=NTFS ACL,O=所有者信息,U=审核信息)。
/SEC 复制具有安全性的文件(等同于 /COPY:DATS)。
/COPYALL 复制所有文件信息(等同于 /COPY:DATSOU)。
/NOCOPY 不复制任何文件信息(与 /PURGE 一起使用)。
/SECFIX 修复所有文件的文件安全性,即使是跳过的文件。
/TIMFIX 修复所有文件的文件时间,即使是跳过的文件。
/PURGE 删除源中不再存在的目标文件/目录。
/MIR 镜像目录树(等同于 /E 加 /PURGE)。
/MOV 移动文件(复制后从源中删除)。
/MOVE 移动文件和目录(复制后从源中删除)。
/A+:[RASHCNET] 将给定的属性添加到复制的文件。
/A-:[RASHCNET] 从复制的文件中删除给定的属性。
/CREATE 仅创建目录树和长度为零的文件。
/FAT 仅使用 8.3 FAT 文件名创建目标文件。
/256 关闭超长路径(> 256 个字符)支持。
/MON:n 监视源;
​ 发现多于 n 个更改时再次运行。
/MOT:m 监视源;
​ 如果更改,在 m 分钟时间后再次运行。
/RH:hhmm-hhmm 可以启动新的复制时运行的小时数
​ - 时间。
/PF 基于每个文件(而不是每个步骤)来检查运行小时数。
/IPG:n 程序包间的间距(ms),以释放低速线路上的带宽。
/SL 对照目标复制符号链接。
/MT[:n] 使用 n 个线程进行多线程复制(默认值为 8)。
​ n 必须至少为 1,但不得大于 128。
​ 该选项与 /IPG 和 /EFSRAW 选项不兼容。
​ 使用 /LOG 选项重定向输出以便获得最佳性能。
/DCOPY:复制标记 要复制的目录内容(默认为 /DCOPY:DA)。
​ (复制标记: D=数据,A=属性,T=时间戳)。
/NODCOPY 不复制任何目录信息 (默认情况下,执行 /DCOPY:DA)。
/NOOFFLOAD 在不使用 Windows 复制卸载机制的情 况下复制文件。
文件选择选项
/A 仅复制具有存档属性集的文件。
/M 仅复制具有存档属性的文件并重置存档属性。
/IA:[RASHCNETO] 仅包含具有任意给定属性集的文件。
/XA:[RASHCNETO] 排除具有任意给定属性集的文件。
/XF 文件[文件]… 排除与给定名称/路径/通配符匹配的文件。
/XD 目录[目录]… 排除与给定名称/路径匹配的目录。
/XC 排除已更改的文件。
/XN 排除较新的文件。
/XO 排除较旧的文件。
/XX 排除多余的文件和目录。
/XL 排除孤立的文件和目录。
/IS 包含相同文件。
/IT包含已调整的文件。
/MAX:n 最大的文件大小 - 排除大于 n 字节的文件。
/MIN:n 最小的文件大小 - 排除小于 n 字节的文件。
/MAXAGE:n最长的文件存在时间 - 排除早于n天/日期的文件
/MINAGE:n最短的文件存在时间 - 排除晚于n天/日期的文件
/MAXLAD:n最大的最后访问日期 - 排除自n以来未使用的文件
/MINLAD:n最小的最后访问日期 - 排除自n以来使用的文件
​ (If n < 1900 then n = n days, else n = YYYYMMDD date)
/XJ 排除接合点和符号链接。(默认情况下通常包括)。
/FFT 假设 FAT 文件时间(2 秒粒度)。
/DST 弥补 1 小时的 DST 时间差。
/XJD 排除目录的接合点和符号链接。
/XJF 排除文件的符号链接。
/IM 包含已修改的文件(更改时间不同)。
重试选项
/R:n 失败副本的重试次数: 默认为 1 百万。
/W:n 两次重试间的等待时间: 默认为 30 秒。
/REG 将注册表中的 /R:n 和 /W:n 保存为默认设置。
/TBD 等待定义共享名称(重试错误 67)。
日志记录选项
/L 仅列出 - 不复制、添加时间戳或删除任何文件。
/X 报告所有多余的文件,而不只是选中的文件。
/V 生成详细输出,同时显示跳过的文件。
/TS 在输出中包含源文件的时间戳。
/FP 在输出中包含文件的完整路径名称。
/BYTES 以字节打印大小。
/NS 无大小 - 不记录文件大小。
/NC 无类别 - 不记录文件类别。
/NFL 无文件列表 - 不记录文件名。
/NDL 无目录列表 - 不记录目录名称。
/NP 无进度 - 不显示已复制的百分比。
/ETA 显示复制文件的预期到达时间。
/LOG:文件 将状态输出到日志文件(覆盖现有日志)。
/LOG+:文件 将状态输出到日志文件(附加到现有日志中)。
/UNILOG:文件 以 UNICODE 方式将状态输出到日志文件 (覆盖现有日志)。
/UNILOG+:文件 以 UNICODE 方式将状态输出到日志文件 (附加到现有日志中)。
/TEE 输出到控制台窗口和日志文件。
/NJH 没有作业标头。
/NJS 没有作业摘要。
/UNICODE 以 UNICODE 方式输出状态。
作业选项
/JOB:作业名称 从命名的作业文件中提取参数。
/SAVE:作业名称 将参数保存到命名的作业文件
/QUIT 处理命令行后退出(以查看参数)。
/NOSD 未指定源目录。
/NODD 未指定目标目录。
/IF 包含以下文件。
备注:
​ 以前在卷的根目录上使用 /PURGE 或 /MIR 导致 robocopy 也对“系统卷信息”目录内的文件应用所请求的操作。现在不再是这种情形;如果指定了任何一项,则 robocopy 将跳过复制会话简要源目录和目标目录中具有该名称的任何文件或目录。已修改的文件分类仅在源和目标文件系统支持更改时间戳(例如 NTFS)以及源和目标文件具有不同的更改时间(否则相同)时才适用。默认情况下不复制这些文件;指定 /IM以包含它们。

八十三、sc

​ SC 是用来与服务控制管理器和服务进行通信的命令行程序。
sc<server> [command] [service name] <option1> <option2>…
<server> 选项的格式为 “\ServerName”
​ 可通过键入以下命令获取有关命令的更多帮助: “sc [command]”
命令:
query 查询服务的状态,
​ 或枚举服务类型的状态。
queryex 查询服务的扩展状态,
​ 或枚举服务类型的状态。
start 启动服务。
pause 向服务发送 PAUSE 控制请求。
interrogate 向服务发送 INTERROGATE 控制请求。
continue 向服务发送 CONTINUE 控制请求。
stop 向服务发送 STOP 请求。
config 更改服务的配置(永久)。
description 更改服务的描述。
failure 更改失败时服务执行的操作。
failureflag 更改服务的失败操作标志。
sidtype 更改服务的服务 SID 类型。
privs 更改服务的所需特权。
managedaccount 更改服务以将服务帐户密码
​ 标记为由 LSA 管理。
qc 查询服务的配置信息。
qdescription 查询服务的描述。
qfailure 查询失败时服务执行的操作。
qfailureflag 查询服务的失败操作标志。
qsidtype 查询服务的服务 SID 类型。
qprivs 查询服务的所需特权。
qtriggerinfo 查询服务的触发器参数。
qpreferrednode 查询服务的首选 NUMA 节点。
qmanagedaccount 查询服务是否将帐户
​ 与 LSA 管理的密码结合使用。
qprotection 查询服务的进程保护级别。
quserservice 查询用户服务模板的本地实例。
delete (从注册表中)删除服务。
create 创建服务(并将其添加到注册表中)。
control 向服务发送控制。
sdshow 显示服务的安全描述符。
sdset 设置服务的安全描述符。
showsid 显示与任意名称对应的服务 SID 字符串。
triggerinfo 配置服务的触发器参数。
preferrednode 设置服务的首选 NUMA 节点。
GetDisplayName 获取服务的 DisplayName。
GetKeyName 获取服务的 ServiceKeyName。
EnumDepend 枚举服务依赖关系。
以下命令不需要服务名称:
sc <server> <command> <option>
boot (ok | bad)指示是否应将上一次启动另存为
​ 最近一次已知的正确启动配置
Lock 锁定服务数据库
QueryLock 查询 SCManager 数据库的 LockStatus
示例:
​ sc start MyService
QUERY 和 QUERYEX 选项:
​ 如果查询命令带服务名称,将返回该服务的状态。其他选项不适合这种情况。如果查询命令不带参数或带下列选项之一,将枚举此服务。
type= 要枚举的服务的类型(driver, service, userservice, all)
​ (默认 = service)
​ state= 要枚举的服务的状态 (inactive, all)
​ (默认 = active)
​ bufsize= 枚举缓冲区的大小(以字节计)
​ (默认 = 4096)
​ ri= 开始枚举的恢复索引号
​ (默认 = 0)
​ group= 要枚举的服务组
​ (默认 = all groups)

语法示例
sc query - 枚举活动服务和驱动程序的状态
sc query eventlog - 显示 eventlog 服务的状态
sc queryex eventlog - 显示 eventlog 服务的扩展状态
sc query type= driver - 仅枚举活动驱动程序
sc query type= service - 仅枚举 Win32 服务
sc query state= all - 枚举所有服务和驱动程序
sc query bufsize= 50 - 枚举缓冲区为 50 字节
sc query ri= 14 - 枚举时恢复索引 = 14
sc queryex group= “” - 枚举不在组内的活动服务
sc query type= interact - 枚举所有不活动服务
sc query type= driver group= NDIS - 枚举所有 NDIS 驱动程序

八十四、schtasks

SCHTASKS /parameter [arguments]
允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任务。
参数列表:
/Create 创建新计划任务。
/Delete 删除计划任务。
/Query 显示所有计划任务。
/Change 更改计划任务属性。
/Run 按需运行计划任务。
/End 中止当前正在运行的计划任务。
/ShowSid 显示与计划的任务名称相应的安全标识符。
/? 显示此帮助消息。
Examples:
SCHTASKS
SCHTASKS /?
SCHTASKS /Run /?
SCHTASKS /End /?
SCHTASKS /Create /?
SCHTASKS /Delete /?
SCHTASKS /Query /?
SCHTASKS /Change /?
SCHTASKS /ShowSid /?

八十五、shift

更改批处理文件中可替换参数的位置。

SHIFT [/n]

如果命令扩展被启用,SHIFT 命令支持/n 命令行开关;该命令行开关告诉
命令从第 n 个参数开始移位;n 介于零和八之间。例如:
SHIFT /2
会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1。

八十六、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 关机

八十七、sort

SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes] [[drive1:][path1]filename1] [/T [drive2:][path2]] [/O [drive3:][path3]filename3]
/+n Specifies the character number, n, to
begin each comparison. /+3 indicates that
each comparison should begin at the 3rd
character in each line. Lines with fewer
than n characters collate before other lines.
By default comparisons start at the first
character in each line.
/L[OCALE] locale Overrides the system default locale with
the specified one. The ““C”” locale yields
the fastest collating sequence and is
currently the only alternative. The sort
is always case insensitive.
/M[EMORY] kilobytes Specifies amount of main memory to use for the sort, in kilobytes. The memory size is
always constrained to be a minimum of 160
kilobytes. If the memory size is specified
the exact amount will be used for the sort,
regardless of how much main memory is
available.
The best performance is usually achieved by
not specifying a memory size. By default the
sort will be done with one pass (no temporary
file) if it fits in the default maximum
memory size, otherwise the sort will be done
in two passes (with the partially sorted data
being stored in a temporary file) such that
the amounts of memory used for both the sort
and merge passes are equal. The default
maximum memory size is 90% of available main
memory if both the input and output are
files, and 45% of main memory otherwise.
/REC[ORD_MAXIMUM] characters 指定记录中的最大字符数量
(默认值为 4096,最大值为 65535)。
/R[EVERSE] 颠倒排列顺序,即,从 Z 到 A,再从 9 到 0。
[drive1:][path1]filename1 指定要排序的文件。如果没有指定, 则排序标准输入。指定输入文件比将 同一个文件重定向为标准输入快。
/T[EMPORARY]
[drive2:][path2] 指定保留排序工作存储的目录路径,以防主内
存无法容纳数据。默认值是使用系统临时目录。
/O[UTPUT]
[drive3:][path3]filename3 指定在哪个文件中储存经过排序的输 入。如果没有指定,数据会被写入标准 输出。指定输出文件比将标准输出重定 向到同一个文件快。

八十八、subst

将路径与驱动器号关联。

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

drive1: 指定要分配路径的虚拟驱动器。
[drive2:]path 指定物理驱动器和要分配给虚拟驱动器的路径。
/D 删除被替换的
(虚拟)驱动器。

不带参数键入 SUBST,以显示当前虚拟驱动器的列表。

八十九、systeminfo

SYSTEMINFO [/S system [/U username [/P [password]]]] [/FO format] [/NH]
该工具显示本地或远程机器(包括服务包级别)的操作系统配置的信息。
/S system 指定要连接的远程系统。
/U [domain]user 指定应该在哪个用户上下文执行命令。
/P [password] 指定给定用户上下文的密码。如果省略则
提示输入。
/FO format 指定显示结果的格式。
有效值: “TABLE”、“LIST”、“CSV”。
/NH 指定“列标题”不应该在输出中显示。
只对 “TABLE” 和 “CSV” 格式有效。
/? 显示帮助消息。
例如:
SYSTEMINFO
SYSTEMINFO /?
SYSTEMINFO /S system
SYSTEMINFO /S system /U user
SYSTEMINFO /S system /U domain\user /P password /FO TABLE
SYSTEMINFO /S system /FO LIST
SYSTEMINFO /S system /FO CSV /NH

九十、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”

九十一、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*”

九十二、time

显示或设置系统时间。

TIME [/T | time]

显示当前时间设置和输入新时间的提示,请键入不带参数的 TIME。要保留现有时间,请按 Enter。

如果命令扩展被启用,TIME 命令会支持 /T 命令行开关;该命令行开关告诉命令只输出当前时间,但不提示输入新时间。

九十三、title

设置命令提示窗口的窗口标题。

TITLE [string]

string 指定命令提示窗口的标题。

九十四、verify

指示 cmd.exe 是否要验证文件是否已正确地写入磁盘。

VERIFY [ON | OFF]

要显示当前 VERIFY 设置,键入不带参数的 VERIFY。

九十五、WMIC

[全局开关] <命令>

可以使用以下全局开关:
/NAMESPACE 别名在其上操作的命名空间的路径。
/ROLE 包含别名定义的角色的路径。
/NODE 别名在其上操作的服务器。
/IMPLEVEL 客户端模拟级别。
/AUTHLEVEL 客户端身份验证级别。
/LOCALE 客户端应使用的语言 ID。
/PRIVILEGES 启用或禁用所有权限。
/TRACE 将调试信息输出到 stderr。
/RECORD 记录所有输入命令和输出内容。
/INTERACTIVE 设置或重置交互模式。
/FAILFAST 设置或重置 FailFast 模式。
/USER 会话期间要使用的用户。
/PASSWORD 登录会话时要使用的密码。
/OUTPUT 指定输出重定向模式。
/APPEND 指定输出重定向模式。
/AGGREGATE 设置或重置聚合模式。
/AUTHORITY 指定连接的 <授权类型>。
/?[:<BRIEF|FULL>] 用法信息。

有关特定全局开关的详细信息,请键入: switch-name /?

当前角色中可以使用以下别名:
ALIAS - 对本地系统上可用别名的访问
BASEBOARD - 基板(也称为主板或系统板)管理。
BIOS - 基本输入/输出服务(BIOS)管理。
BOOTCONFIG - 启动配置管理。
CDROM - CD-ROM 管理。
COMPUTERSYSTEM - 计算机系统管理。
CPU - CPU 管理。
CSPRODUCT - SMBIOS 中的计算机系统产品信息。
DATAFILE - 数据文件管理。
DCOMAPP - DCOM 应用程序管理。
DESKTOP - 用户的桌面管理。
DESKTOPMONITOR - 桌面监视器管理。
DEVICEMEMORYADDRESS - 设备内存地址管理。
DISKDRIVE - 物理磁盘驱动器管理。
DISKQUOTA - 用于 NTFS 卷的磁盘空间使用量。
DMACHANNEL - 直接内存访问(DMA)通道管理。
ENVIRONMENT - 系统环境设置管理。
FSDIR - 文件系统目录项管理。
GROUP - 组帐户管理。
IDECONTROLLER - IDE 控制器管理。
IRQ - 中断请求线路(IRQ)管理。
JOB - 提供对使用计划服务安排的作业的访问。
LOADORDER - 定义执行依赖关系的系统服务的管理。
LOGICALDISK - 本地存储设备管理。
LOGON - 登录会话。
MEMCACHE - 缓存内存管理。
MEMORYCHIP - 内存芯片信息。
MEMPHYSICAL - 计算机系统的物理内存管理。
NETCLIENT - 网络客户端管理。
NETLOGIN - 网络登录信息(属于特定用户)管理。
NETPROTOCOL - 协议(及其网络特征)管理。
NETUSE - 活动网络连接管理。
NIC - 网络接口控制器(NIC)管理。
NICCONFIG - 网络适配器管理。
NTDOMAIN - NT 域管理。
NTEVENT - NT 事件日志中的项目。
NTEVENTLOG - NT 事件日志文件管理。
ONBOARDDEVICE - 主板(系统板)中内置的通用适配器设备的管理。
OS - 已安装操作系统的管理。
PAGEFILE - 虚拟内存文件交换管理。
PAGEFILESET - 页面文件设置管理。
PARTITION - 物理磁盘的已分区区域的管理。
PORT - I/O 端口管理。
PORTCONNECTOR - 物理连接端口管理。
PRINTER - 打印机设备管理。
PRINTERCONFIG - 打印机设备配置管理。
PRINTJOB - 打印作业管理。
PROCESS - 进程管理。
PRODUCT - 安装程序包任务管理。
QFE - 快速修复工程。
QUOTASETTING - 卷上的磁盘配额设置信息。
RDACCOUNT - 远程桌面连接权限管理。
RDNIC - 对特定网络适配器的远程桌面连接管理。
RDPERMISSIONS - 特定远程桌面连接的权限。
RDTOGGLE - 远程打开或关闭远程桌面侦听程序。
RECOVEROS - 操作系统出现故障时将从内存收集的信息。
REGISTRY - 计算机系统注册表管理。
SCSICONTROLLER - SCSI 控制器管理。
SERVER - 服务器信息管理。
SERVICE - 服务应用程序管理。
SHADOWCOPY - 卷影副本管理。
SHADOWSTORAGE - 卷影副本存储区域管理。
SHARE - 共享资源管理。
SOFTWAREELEMENT - 系统上安装的软件产品元素的管理。
SOFTWAREFEATURE - SoftwareElement 的软件产品子集的管理。
SOUNDDEV - 声音设备管理。
STARTUP - 当用户登录到计算机系统时自动运行的命令的管理。
SYSACCOUNT - 系统帐户管理。
SYSDRIVER - 基本服务的系统驱动程序管理。
SYSTEMENCLOSURE - 物理系统外壳管理。
SYSTEMSLOT - 物理连接点(包括端口、插槽和外设以及 专用连接点)的管理。
TAPEDRIVE - 磁带驱动器管理。
TEMPERATURE - 温度传感器(电子温度计)数据管理。
TIMEZONE - 时区数据管理。
UPS - 不间断电源(UPS)管理。
USERACCOUNT - 用户帐户管理。
VOLTAGE - 电压传感器(电子电压表)数据管理。
VOLUME - 本地存储卷管理。
VOLUMEQUOTASETTING - 将磁盘配额设置与特定磁盘卷相关联。
VOLUMEUSERQUOTA - 每用户存储卷配额管理。
WMISET - WMI 服务操作参数管理。

CLASS - 按 Esc 键可获取完整 WMI 架构。
PATH - 按 Esc 键可获取完整 WMI 对象路径。
CONTEXT - 显示所有全局开关的状态。
QUIT/EXIT - 退出程序。

有关 CLASS/PATH/CONTEXT 的详细信息,请键入: (CLASS | PATH | CONTEXT) /?

dos命令特殊符号

@ 命令行回显屏蔽符,关闭当前行的回显,比如:@echo off
% 批处理变量引导符:
​ 引用变量:%var%
​ 调用程序外部参数用%1至%9,%0 批处理文件本身,
​ 包括完整的路径和扩展名
> 重定向符,将输出的内容重定向到指定位置
>> 重定向符(追加),将输出的内容追加到指定位置
< 重定向符,从指定位置输入内容
>& 重定向符,将一个句柄的输出写入到另一个句柄的输入中
<& 重定向符,从一个句柄读取输入并将其写入到另一个句柄输出中
| 命令管道符,例如:【第一条命令 | 第二条命令】将第一条命令的 结果作为第二条命令的参数来使用
^ 转义字符,除了转义还可以起到续行的作用
& 组合命令,无论前面的命令是否成功执行,也都会执行后面的
&& 组合命令,当前面的命令成功执行,再执行后面的命令
|| 组合命令,当前面的命令没有成功执行,则执行后面的命令
“” 字符串界定符,允许有特殊字符(如:空格)
, 逗号,相当于空格,例如:dir,c:
; 分号,当命令相同时,可以将不同目标用;来隔离
! 感叹号,在变量延迟问题中,用来表示变量,
​ 即%var%应该表示为!var!
() 括号,将命令视作整体


  1. destination ↩︎

  2. mask ↩︎

  3. gataway ↩︎

  4. metric ↩︎

  5. Interface ↩︎

  6. 类型/set 和 /deletevalue 命令要求将 <datatype> 作为参数。<datatype> 唯一标识数据格式及值的意义。数据类型是使用名称或自定义类型标识的。下面列出了名称及其数据格式(在括号中)以及自定义类型的简短描述。如果未指定格式,则描述列出可用于该类型的文本值。有关数据格式的详细信息,请运行 “bcdedit /? formats”。以下类型对所有项都是有效的。有关特定项(如启动管理器项或 Windows OS 加载器项)特有的类型的信息,请参阅此帮助主题末尾。

    ​ DESCRIPTION (字符串) 定义项描述。
    ​ PATH (字符串) 定义应用程序路径。
    ​ DEVICE (设备) 定义应用程序所驻留的设备。
    ​ INHERIT (列表) 定义要继承的项的列表。
    有关设备对象的附加类型的信息,请运行 “bcdedit /? TYPES DEVOBJECT”。有关特定应用程序的附加类型的信息,请运行 “bcdedit /? TYPES <apptype>”,其中 <apptype> 为以下其中一项:
    BOOTAPP 启动应用程序。这些类型也应用于启动管理器、Windows OS 加载器和恢复应用程序
    BOOTMGR 启动管理器。
    BOOTSECTOR 启动扇区应用程序。
    CUSTOMTYPES 自定义类型。
    DEVOBJECT 设备对象附加选项。
    FWBOOTMGR 固件启动管理器
    MEMDIAG 内存诊断应用程序
    NTLDR 以前的 Windows OS 版本附带的 OS 加载器
    OSLOADER Windows Vista OS 加载器
    RESUME 恢复应用程序 ↩︎

  7. a
    下列描述了与 /set 命令一起使用的 <datatypes> 所需的数据格式。所需的格式取决于使用 /set 命令指定的 <datatypes>。有关与每个 <datatype> 相关联的格式的详细信息,请运行 “bcdedit /? TYPES”。
    bool 布尔值。以下值与 TRUE 对应:
    1、ON、YES、TRUE
    以下值与 FALSE 对应:
    0、OFF、NO、FALSE
    device 设备可以是以下类型之一:
    BOOT
    PARTITION=<drive>
    HD_PARTITION=<drive>
    FILE=[<parent>]<path>
    RAMDISK=[<parent>]<path>,<optionsid>
    VHD=[<parent>]<path>,<locatecustom>
    LOCATE[=<locatecustom>]
    这些类型的选项为:
    <drive> 带有冒号并且结尾不带反斜杠的驱动器号。
    <parent> (必需)可以是 BOOT、LOCATE 或带有冒号的驱动器号。方括号表示语法的文本部分,而不表示是可选项。
    <path> 从父设备根开始的文件路径(或 .wim 文件)。
    <optionsid> 设备选项条目的标识符,该选项项包含 RAM 磁盘的系统部署映像(SDI)选项。这通常是 {ramdisksdioptions}.
    <locatecustom> 提供用于通过查找指定的路径来查找设备的可选元素。设备的默认位置元素是其应用程序路径 (osdevice 的位置元素为 systemroot)。必须使用自定义元素语法来指定自定义值 (请参阅 -help 类型的自定义类型),例如: locate=custom:22000002。
    id 条目标识符,它引用启动配置数据存储中的项。有关标识符的详细信息,请运行 “bcdedit /? ID”。
    integer 64 位整数类型。可以使用枚举的值设置某些整数类型。
    integerlist 以空格分隔的一个或多个 64 位整数的列表。该列表不应置于引号中。
    list 条目标识符列表。它包含以空格分隔的一个或多个条目标识符。该列表不应置于引号中。
    string 文本字符串。如果它包含空格,则应该置于引号(“”)中。 ↩︎

  8. 标识符
    很多 Bcdedit 命令需要标识符。标识符可以唯一标识存储中包含的项。标识符采取全局唯一标识符的形式,或称为 GUID。GUID 具有以下格式,其中每个“x”代表一个十六进制数。
    {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
    例如:
    {d2b69192-8f14-11da-a31f-ea816ab185e9}
    破折号(-)的放置以及 GUID 开头和结尾的括号是必需的。
    已知标识符可以标识多个项。如果某个项具有已知标识符,则 BCDedit 将其显示在输出中,除非使用了 /v 命令行开关。
    有关详细信息,请运行 “bcdedit /? /v”。
    已知标识符如下所示:
    {bootmgr} 指定 Windows 启动管理器项。
    {fwbootmgr} 指定固件启动管理器项,特别是在实现可扩展固件接口(EFI)规格的系统上。
    {memdiag} 指定内存诊断应用程序项。
    {ntldr} 指定可用于启动早于 Windows Vista 版本的操作系统的 OS 加载程序(Ntldr)。
    {current} 指定与当前运行的操作系统的操作系统启动项对应的虚拟标识符。
    {default} 指定与启动管理器默认应用程序项对应的虚拟标识符。
    {ramdiskoptions} 包含启动管理器所需的其他的 RAM 磁盘设备选项。
    {dbgsettings} 包含可由任意启动应用程序项继承的全局调试程序设置。
    {emssettings} 包含可由任意启动应用程序项继承的全局紧急管理服务设置。
    {badmemory} 包含可由任意启动应用程序项继承的全局 RAM故障列表。
    {globalsettings} 包含所有启动应用程序项应继承的全局设置的集合。
    {bootloadersettings} 包含所有 Windows 启动加载程序应用程序项应继承的全局设置的集合。
    {resumeloadersettings} 包含所有 Windows 从休眠状态恢复应用程序项应继承的全局设置的集合。
    {hypervisorsettings} 包含可由任意 OS 加载程序项继承的虚拟机监控程序设置。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值