1. 什么是DOS命令
Disk Operating System(DOS):磁盘操作系统,主要是一种面向磁盘的系统软件。说得简单些,DOS就是人与机器的一座桥梁,是罩在机器硬件外面的一层“外壳”,有了DOS,就不必去深入了解机器的硬件结构,也不必去死记硬背那些枯燥的机器指令。只需通过一些接近于自然语言的DOS命令,就可以轻松地完成绝大多数的日常操作。此外,DOS还能有效地管理各种软硬件资源,对它们进行合理的调度,所有的软件和硬件都在DOS的监控和管理之下有条不紊地进行着自己的工作,但是在操作不慎情况下也会死机。
2. 查看所有命令
在cmd中输入help,即可查看所有的DOS命令及其功能简介,如下表所示:
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 保存的当前目录的上一个值。 |
打印一个文本文件。 | |
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 信息。 |
3. 查看DOS命令帮助
1)help+空格+DOS命令
2)DOS命令+空格+/?
4. 常用的DOS命令
4.1 call
从批处理程序调用另一个批处he理程序:CALL [drive:][path]filename [batch-parameters]
set a=123456
call F:\DOS命令\例子\TestCopy\testCopy_ANSI.bat
call F:\DOS命令\例子\TestEcho\testEcho.bat testSentAndGetMassege %a%
4.2 copy
将一份或多份文件复制到另一个位置:COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B] [+ source [/A | /B] [+ ...]] [destination [/A | /B]
source | 指定要复制的文件。 |
/A | 表示一个 ASCII 文本文件。 |
/B | 表示一个二进位文件。 |
/D | 允许解密要创建的目标文件 |
destination | 为新文件指定目录和/或文件名。 |
/V | 验证新文件写入是否正确。 |
/N | 复制带有非 8dot3 名称的文件时, 尽可能使用短文件名。 |
/Y | 不使用确认是否要覆盖现有目标文件的提示。 |
/-Y | 使用确认是否要覆盖现有目标文件的提示。 |
/Z | 用可重新启动模式复制已联网的文件。 |
/L | 如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。 |
copy /y F:\DOS命令\例子\TestCopy\IN F:\DOS命令\例子\TestCopy\OUT
4.3 xcopy
复制文件和目录树,与copy不同,xcopy可以复制指定文件夹及其子文件夹中的文件,且更灵活强大,可以处理许多特殊情况,如覆盖只读文件(/R)等,命令如下:
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]...] [/COMPRESS]
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。推荐复制大文件时使用。 |
/COMPRESS | 如果适用,在传输期间请求网络压缩。 |
xcopy /c /y /r /e F:\DOS命令\例子\Test3_Xcopy\IN F:\学习\DOS命令\例子\Test3_Xcopy\OUT
4.4 cd
使用 /D 命令行开关,除了改变驱动器的当前目录以外,还可改变当前驱动器。这句话不太好理解,作个试验,一般咱们在xp系统中打开cmd窗口时,会显示:
C:\users\Administrator>class
若是咱们执行“cd e:\xxx”命令,发现目录依然仍是在C:\users\Administrator,
此时,咱们键入e:,不但会切换到d盘,并且会发现E盘上的当前目录为e:/xxx。
C:\users\Administrator>cd e:\xxx
C:\users\Administrator>e:
e:\xxx>
下面语句咱们就能看到/d参数的做用了。发现加了/d参数以后直接切换到e:\xxx目录了。
C:\users\Administrator>cd /d e:\xxx
e:\xxx>
结论:不加/d参数只能在同一驱动器的目录之间切换,加上/d参数则能在不一样驱动器之间的目录之间切换。
4.5 其它常见命令
还有一些常见的命令,这里不再详解,可以查看帮助文档和百度,枚举如下:del、exit、for、if、md、move、start、echo、pause、cls、help、tree、rem等。
5. 其它
- DOS命令不区分大小写,‘help’、‘HELP’、‘Help’、‘hElp’等效;
- 转义符“^”;
- 如果路径中有中文,在执行时则有可能出现路径乱码的情况,命令会执行失败。遇到此情况:用文本打开原来的bat文件,然后将其另存为“ANSI”编码格式的文件,然后直接修改其中文路径,这样就不会出现中文乱码了
- 文件重定向:">" 及">>";如echo 百度欢迎你 >d:\1.txt ;写入文本到指定文件(如果文件存在则替换);netstat -an >>d:\1.txt ;追随尾端写入文本;
6. 关于路径:
- “.\” 与 “./”等效;
- 注意:“.\” 与 “./”都是工作路径,当被被调用的bat中如果有使用相对路径的地方,该相对路径会以当前主调bat所在工作路径为起点;
- “path”获取的是windows的环境变量;
- 获取当前文本路径方法如下:
其中“~0”表示删除任何引号(")
批处理文件自身完整路径(带引号) | %0 |
批处理文件自身完整路径(不带引号) | %~0 |
批处理所在的盘符(不带引号) | %~d0 |
批处理父目录(不带引号) | %~dp0 |