DOS命令汇总

汇总如下:

DOS基础命令汇总(一)

Dos基础命令梳理思路

小编初来乍道, 不清楚我的插图在我发布后会不会不清晰, 因为我在排版时看到插入的图片是清晰的, 以前见其他条友发布的文章中总有不晰的图片, 很是不爽. 所以如果有不清晰的地方请条友帮忙指出, 小编看到留言就即可修正.


1、Dir(Directory)命令

命令参数:

----/A -显示具有指定属性的文件

--------D 目录 R 只读文件

--------H 隐藏文件 A 准备存档的文件

--------S 系统文件 - 表示“否”的前缀

DOS基础命令汇总(一)

dir /a 命令执行结果

DOS基础命令汇总(一)

只浏览目录列表

DOS基础命令汇总(一)

只浏览只读文件

DOS基础命令汇总(一)

查看隐藏文件

DOS基础命令汇总(一)

查看系统文件

----/O - 用分类顺序列出文件

--------N 按名称(字母顺序) S 按大小

--------E 按扩展名(字母顺序) D 按日期/时间(从先到后)

--------G 组目录优先 - 颠倒顺序的前缀

DOS基础命令汇总(一)

所查看文件列表按文件名的字母顺序排列

DOS基础命令汇总(一)

按文件名的字母逆序排列

----/P - 在每个信息屏幕后暂停

----/S - 显示指定目录和所有子目录中的文件

DOS基础命令汇总(一)

分屏显示子文件及子目录下的文件列表

----/W - 用宽列表格式

DOS基础命令汇总(一)

宽列表格式显示

命令格式:

----Dir -列出当前目录下的属性为只读或存档的程序和目录

----Dir /AARHS -列出当前目录下所有存档、只读、隐藏、系统属性的所有程序

----Dir /ON -按字母顺序列出当前目录下的所有程序和其它目录

----Dir /OS -按文件或文件夹的大小列出当前目录下的所有程序和其它目录

----Dir /P -列出当前目录下的所有程序和其它目录,在每个信息屏幕后暂停,按任意键继续

----Dir /S 某程序- 显示指定目录和所有子目录中的某程序

----Dir /W -用宽列表格式列出当前目录下的所有程序和其它目录


2、ping命令

通过发送 Internet 控制消息协议 (ICMP) 回响请求消息来验证与另一台TCP/IP 计算机的 IP 级

连接。相应的回响应答消息的接收情况将和往返过程的时间一起显示出来。Ping 是用于检测网络

连接性、可到达性和名称解析的疑难问题的主要TCP/IP 命令。如果不带参数,ping 将显示帮助。

DOS基础命令汇总(一)

ping 命令的默认应用

-t 指定在中断前 ping

DOS基础命令汇总(一)

ping ip -t

-n 指定发送回响请求消息的次数。默认值是4

DOS基础命令汇总(一)

ping -n 2 ip

-a 指定对目的地 IP 地址进行反向名称解析。如果解析成功,ping 将显示相应的主机名(测试没能成功)

-l 指定发送的回响请求消息中“数据”字段的长度(以字节为单位)。默认值为 32,最大值是 65,527

(修正: 测试WIN7_64系统中, 数据包的大小是0-65500字节)

DOS基础命令汇总(一)

ping -l 自定义测试数据包的大小<=65527

操作系统-------------TTL

LINUX----------------64

WIN2K/NT----------128

WINDOWS 系列 --32

UNIX 系列----------255


3、ipconfig命令

显示所有当前的 TCP/IP 网络配置值、刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置

DOS基础命令汇总(一)

ipconfig的默认应用

/all 显示所有适配器的完整 TCP/IP 配置信息

DOS基础命令汇总(一)

ipconfig /all

/renew 更新所有适配器

DOS基础命令汇总(一)

ipconfig /renew

/release 发送消息到DHCP服务器释放所有适配器

DOS基础命令汇总(一)

ipconfig /release


4、Nslookup命令

显示可用来诊断域名系统 (DNS) 基础结构的信息

举例:nslookup www.baidu.com

DOS基础命令汇总(一)

nslookup的应用

“Server”,显示的是用户正在实用实用的DNS服务器域名

“Address”,显示的是DNS服务器的IP地址

“Name”,显示的是查询域名的名称

“Address”,显示出该域名与多台服务器进行了绑定


5、date命令

更改日期

如果加上“/t”参数则只显示日期,而不用输入新日期

DOS基础命令汇总(一)

date


6、time命令

更改时间。

如果加上“/t”参数则只显示时间,而不用输入新时间

DOS基础命令汇总(一)

time


7、tree命令

以图形显示驱动器或路径的文件夹结构

DOS基础命令汇总(一)

tree


8、type命令

查看文本文件的内容

命令格式如:Type C:.txt -显示C盘下1.txt文本文件中的内容

DOS基础命令汇总(一)

type 查看文本文件内容


9、vol命令

用于得到磁盘的卷标和卷序列

例 vol c:

DOS基础命令汇总(一)

vol查看磁盘分区卷标或卷序列号


10、Ver(version)命令

命令格式:Ver -显示当前Windows操作系统的版本号

DOS基础命令汇总(一)

ver 查看系统版本


11、tasklist命令

显示本地或远程机器上当前运行的进程列表

/svc 无间断地列出每个过程的所有服务信息。当 /fo 参数设置为 TABLE 时有效

tasklist /fo:table /svc

这个命令是滚屏显示且无法上翻, 建议使用管道命令符 ">>" 输出到一个文件中去, 再查看文件内容

即: tasklist /fo:table /svc >> d: asklist_svc.txt

/m (Module) 列出与给定模式名称匹配的加载了 DLL 模块的所有任务。如果未指定模块名称,该选项将显示每个任务加载的所有模块.

此参数的执行结果同上, 也建议这样执行:

tasklist /m >> d: asklist_m.txt

其默认执行的结果如下图示:

DOS基础命令汇总(一)

tasklist 的默认执行结果


12、taskkill命令

结束一个或多个任务或进程。可以根据进程 ID 或图像名来结束进程

/im (ImageName)

指定将终止的进程的图像名称。使用通配符 (*) 指定所有图像名称

/pid ProcessID

指定将终止的进程的进程 ID

/f

指定将强制终止的进程。对于远程进程可忽略此参数,所有远程进程都将被强制终止

例:

taskkill /f /im notepad.exe

taskkill /pid 1230 /pid 1241 /pid 1253

DOS基础命令汇总(一)

taskkill 结束一个或多个进程


13、find命令

在文件中搜索字符串。

/N 显示行号

/I 搜索字符串时忽略大小写。

/OFF[LINE] 不要跳过具有脱机属性集的文件。

"string" 指定要搜索的文字串,

[drive:][path]filename 指定要搜索的文件。

例:find /i"hello" 1.txt

注:在a.txt中查找"hello"并且忽略大小写

DOS基础命令汇总(一)

find 文本文件中查找指定的字符串


14. Help命令

至于此命令, 请条友自己在CMD命令窗口中试着执行一下就看到了, 系统将罗列出常用的一些命令.如下图:

不懂不会的命令, 你可以如图中命令提示中执行: help 命令名 就可以查看此命令的语法和参数及样例.

DOS基础命令汇总(一)

11

Dos 命令进阶(三)---批处理(上)

批处理脚本讲解思路


一. 批处理介绍


1、批处理的概述:

批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。它的构成没有固定格式,只要遵守以下这条就ok了:

(1)每一行可视为一个命令,

(2)每个命令里可以含多条子命令,

(3)从第一行开始执行,直到最后一行结束,它运行的平台是DOS。

批处理有一个很鲜明的特点:

使用方便、灵活,功能强大,自动化程度高。

批处理文件的扩展名是BAT或者CMD,把任何一批命令放在有该扩展名的文件里,执行的时候都会按顺序逐条的执行, 在以后学习内容中, 还可以在其中加入一些逻辑判断的语句,即让里面的命令在满足一定条件时执行指定的命令。


2、举例说明:

第一步:建立批处理文件

新建一个文本文档,将名字改为 第一个实例.bat

Dos 命令进阶(三)---批处理(上)

创建批处理文件 第一个实例.bat

Dos 命令进阶(三)---批处理(上)

重命名


第二步:写代码

右键"第一个实例.bat"文件,选中“编辑”,然后写代码。代码如下:

@echo off

echo 非常感谢所有条友的关注与支持!

echo 感激不已, 惟有认真, 毫无保留的分享.

pause

Dos 命令进阶(三)---批处理(上)

编辑批处理脚本


第三步:保存后,双击“第一个实例.bat”运行。

Dos 命令进阶(三)---批处理(上)

执行批处理脚本

简单了解代码意思:

@echo off 这一句是关闭回显(缺省回显是打开的),如果没有这一句的话会显示一些比较碍眼的信息。

echo 非常感谢所有条友的关注与支持!

echo 感激不已, 惟有认真, 毫无保留的分享.

上面两条指令的结果是在屏幕上打印echo后面的内容(如上图例脚本执行的结果)

pause 这个pause,英文是暂停的意思,让脚本执行完上面的命令后等用户确认退出


详细解释:

(1)、echo off 关闭回显(即批处理中的命令语句不会显示)

(2)、echo on 打开回显

Dos 命令进阶(三)---批处理(上)

编辑中去除关闭回显的指令行

Dos 命令进阶(三)---批处理(上)

开启回显执行的结果

Dos 命令进阶(三)---批处理(上)

在CMD中解释一下回显是咋个意思

(3)、符号“@”的意思是不显示它后面的命令语句,只显示命令执行的结果!

Dos 命令进阶(三)---批处理(上)

把首行命令中的小老鼠符号去掉看看


(4)、echo 用于显示

echo命令的作用有两个,一个时在CMD上显示一行内容,

如:echo 非常感谢所有条友的关注与支持!!

还有一个是显示关闭命令的回显:echo off

我们在echo off命令前加一个“@”符号是为了不让echo off这条命令本身显示出来,可以让批处理达到整体的美观!

如测试以下代码:

@echo off

echo 你好

echo 你好

pause

Dos 命令进阶(三)---批处理(上)

第二个实例

再次解释一下:pause命令就是暂停的意思,防止批处理执行完毕后直接退出,执行到pause命令时CMD就会显示

“请按任意键继续”这一行!


3、基础知识补充

前面几篇基础知识的链接:

DOS基础命令汇总(一)

DOS基础命令汇总(二,三,四,五)

Dos命令进阶(一)---Net, Netstat

Dos 命令进阶(二)---FTP命令

如果大家对那个DOS命令不明白,可以通过输入“命令”/? 或 执行 "help 命令名"


4、具体实例分析

@echo off

echo 正在清除系统垃圾文件,请稍后。。。

del /s /f /q %systemdrive%*.tmp >nul 2>nul

del /s /f /q %systemdrive%*.gid >nul 2>nul

del /s /f /q %systemdrive%*.chk >nul 2>nul

del /s /f /q %systemdrive%*.old >nul 2>nul

del /s /f /q "%userprofile%localsettings emp*.*" >nul 2>nul

del /s /f /q"%userprofile% ecent*.*" >nul 2>nul

del /s /f /q"%userprofile%cookies*.*" >nul 2>nul

del /s /f /q "%userprofile%localsettingshistory*.*" >nul 2>nul

del /s /f /q "%windir% emp*.*">nul 2>nul

del /s /f /q"%windir%prefetch*.*" >nul 2>nul

echo 垃圾文件清理完毕!

echo. & pause


分析实例代码:

有了前面几篇基础命令的学习, 想必条友已经知道这个 del 命令是怎么个意思了吧, 它就是删除文件的命令.

del /s /f /q %systemdrive%*.tmp >nul 2>nul 取这一行代码来说明一下

/s 参数是删除当前目录及其子目录下的指定文件

/f 表示删除没商量,强制删除

/q 表示静默执行, 不提示确认信息.

%systemdrive% 这个是系统环境变量, 你在CMD窗口执行 echo %systemdrive% 看是什么结果

Dos 命令进阶(三)---批处理(上)

echo 查看系统环境变更

>nul 2>nul 这个呢? 它的意思是将命令执行时的信息或者错误, 还是图解一下吧.

Dos 命令进阶(三)---批处理(上)

>nul 和 2>nul 的功能演示(后面的特殊符号中还会提到)

注:这是一个用来清除系统垃圾文件的批处理程序。命令其实也是很简单的,主要是用到“del”命令和相关的参数来实现, 有关“del”命令的参数大家可以参考“del /?”来得到详细的帮助。

另外还有“%systemdrive%、%userprofile%”。那么它们是什么呢,这些其实是系统变量,也就是系统目录的另一种表示形式而已。我们可以通过输入“echo %userprofile%”来看看它代表的是系统中的那个目录。那么其它的也是一样

*.tmp的意思是,这个*号是一个通配符号,它表示的是所有以 .tmp 为扩展名的文件。不知道大家是否能理解?

有关系统变量和通配符后面还会详细说明


二. 特殊字符详解


1、@

隐藏执行的命令,只显示结果。

例子:

echo 条友们好

@echo 条友们辛苦了

pause

Dos 命令进阶(三)---批处理(上)

屏蔽回显命令的演示


2、&

命令连接符号,就是将两个命令连续执行,不用分行

例子:

dir c: & dir d: & dir e:

Dos 命令进阶(三)---批处理(上)

多命令同行执行连接符 &


3、&&

连接两个命令,当&&前的命令成功时,才执行&&后的命令

说白点儿就是, &&前面的命令先执行成功才能执行 &&后面的命令, 如果前面命令执行失败, 后面就不执行了.

高一学的逻辑运算知识在这里用上了, 这叫一假则假, 两个条件有一个为假, 整个都为假了, 则就没必要执行下去了, &&前面那条指令失败了, &&后面的指令就不会再执行了.

例子:

dir x: && dir d:

Dos 命令进阶(三)---批处理(上)

一假则假


4、||

命令连接符号,表示上一条命令执行失败后,才执行||符号后的内容

这个命令跟上一个相反, 如果 || 前的执行成功, 则 || 后面的命令就不执行了. 逻辑上的叫一真则真

例子:

dir x: || dir c:

Dos 命令进阶(三)---批处理(上)

|| 前面的失败了才执行 || 后的指令

如果执行: dir c: || dir d: 呢, 则只执行 dir c: , dir d: 这条指令就不会执行, 这一条希望条友能亲自尝试一下看.


5、| 

管道符号,就是将上一个命令的输出的内容,作为下一个命令的输入内容

管道是一种很形象的说法, 就是将 | 前面的指令执行后的输出结果暂存在内存中, 作为 | 后面指令执行的输入内容.

这个符号 "|" 就好似一条管理, 将前的送到后面去, 发挥你屌炸天的想象力吧, 嘿嘿嘿

例子:

netstat -an | find "135"

为了具体我先分别执行 netstat -an 和 find "135" , 而后的 find "135" 意思是在某文件中查找字符串135, 在哪个文件中呢, 这里没有给, 所以单独执行 find "135" 铁定会执行失败的, 看下图:

Dos 命令进阶(三)---批处理(上)

单独执行 netstat

Dos 命令进阶(三)---批处理(上)

find命令, 在某文件中查看指定的字符串

Dos 命令进阶(三)---批处理(上)

netstat 与 find 通过管道命令配合执行


6、>

重定向符号,将命令的输出结果重定向到其后面的设备中去,后面的设备中的内容被覆盖

例子:

dir c: > cdir.txt

dir c: > d:cdir.txt

Dos 命令进阶(三)---批处理(上)

重定义符号 > 的使用


7、>>

重定向符号,将命令的输出结果重定向到其后面的设备中去,后面的设备中的内容会被增加在后面

该符号的作用与前面那个 > 符号的区别是: 这个 >> 符号的作用是向一个文件中追加内容, 如果该文件不存在则创建, 如果存在, 则在文件已有内容的后面追加要输出的内容.

而 > 符号的作用是, 新建一个文件, 并向该文件中添加要输出的内容, 如果指定的文件已存在, 则先清空文件内容再添加要输出的内容.

例子:

echo 第一行内容 >> test.txt

echo 第二行内容 >> test.txt

echo 第三行内容 > test.txt

Dos 命令进阶(三)---批处理(上)

两个重定向符号的对比


8、^

转义字符, ^是对特殊符号<,>,&的前导字符,在命令中他将以上3个符号的特殊功能去掉,仅仅只把他们当成符号而不使用他们的特殊意义。

Dos 命令进阶(三)---批处理(上)

转义字符的作用演示


9、% 批处理变量引导符

这个百分号严格来说是算不上命令的,它只是批处理中的参数而已(多个%一起使用的情况除外)。

引用变量用%var%,调用程序外部参数用%1至%9等等

%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %* 为命令行传递给批处理的参数

%0 指批处理文件本身,包括完整的路径和扩展名

Dos 命令进阶(三)---批处理(上)

参数 %0的用处演示

Dos 命令进阶(三)---批处理(上)

%0 参数在批处理中的演示效果

%1 第一个参数

%9 第九个参数

Dos 命令进阶(三)---批处理(上)

%1--%9这是9个外部参数, 多于9个时就使用%*

Dos 命令进阶(三)---批处理(上)

计算几个数字的和并打印

%* 从第一个参数开始的所有参数

Dos 命令进阶(三)---批处理(上)

匹配所有外部参数%*

参数%0具有特殊的功能,可以调用批处理自身,以达到批处理本身循环的目的,也可以复制文件自身等等。

例:最简单的复制文件自身的方法

代码d:第五个实例.bat:

copy %0

这段代码的意思就是 复制脚本自身到当前目录下. 这里省略一个点, 完整的写是:

copy %0 .

如果条友看了我前面讲的那CD 命令应该知道 . 代表当前目录, .. 代表父级目录, 所以就有 cd .. 就是返回上级目录.

先切换到与脚本文件所在目录不同的目录中,比如C盘下, 再执行:

d:第五个实例.bat

Dos 命令进阶(三)---批处理(上)

小技巧:添加行内注释

%注释内容%(可以用作行内注释,不能出现重定向符号和管道符号)

为什么这样呢?此时“注释内容”其实被当作变量,其值是空的,故只起注释作用,不过这种用法容易出现语法错误,一般不用(等于没说)。


10、*

通配符号,表示任意个任意字符

例子:

dir c:windows*.log

del /s /q /f c:windows*.log 强制删除当前目录及其子目录下所有以 .log 结尾的文件.

Dos 命令进阶(三)---批处理(上)

通配符 * 号的应用实例


11、?

通配符号,表示任意一个字符

例子:

dir c:?indows 列出C: 目录下所有任意以单个字符开头并以 indows 结尾名称的文件列表

如果 C: 下有Aindows , Bindows, HEindows 三个文件夹, 那么 ?indows 匹配 Aindows , Bindows 两个文件, 但HEindows却不匹配, 因为它是以 HE两个字符开头的文件.

Dos 命令进阶(三)---批处理(上)

通配符 ? 的操作实例


12、.

表示当前目录

例子:

dir . , dir . , dir 三条指令是同样的执行结果, 如果是当前目录, 点这个符号可以省略

Dos 命令进阶(三)---批处理(上)

点符号在CMD中的应用

Dos 命令进阶(三)---批处理(上)

点符号在CMD中的应用


13、..

表示上一级目录(也称父级目录)

例子:

dir .. 查看父级目录下的文件列表

Dos 命令进阶(三)---批处理(上)

两点表示上一级目录或父级目录


14、" "

界定符号,通常用来引用有空格的目录

例子:

dir "c:Documents and settings" 这个界定符在WIN7中可以不用, 但在XP系统中还是会要用到的. 当你要切换的目录名中有空格时, 请使用 双引号 括起来, 否则会报错. 建议需要不需要都使用这个界定符, 应该更保险一些.

Dos 命令进阶(三)---批处理(上)

目录名中带空格须使用双引号进行包括


15、:

标签定位符号,表示后面的内容是一个标签名

例子:

@echo off

:again

echo 诚心感谢条码们对小编的关注与支持!

pause

goto again

Dos 命令进阶(三)---批处理(上)

标签跳转操作


16、,

某些时候可以当空格来使用

例子:

echo,

dir,c: 这个例子的意思太白了, 小编就不演示截图了.


17、;

分号,当命令相同时,可以将不同目标用来隔离

例子:

dir c:;d: 如果你想同时查看 C:, D: 两个目录下的文件列表, 就可以一个DIR 命令, 后跟多个要查看的目录路径, 相互之间以分号隔开就可以了.


18、::

表示后面的语句是注释。相当于c++中的"//"

例子:

@echo off

::显示c盘根目录文件. (注释就是说明性的文字内容, 不作为指令执行)

dir c:*.txt

pause

Dos 命令进阶(三)---批处理(上)

注释符的使用


19. < 输入重定向

将要执行的代码存在一个文本test.txt 中:

d:

cd D:我的头条20171127

dir

pause

执行命令:

cmd.exe < test.txt

Dos 命令进阶(三)---批处理(上)

输入重定向符号的使用


20. 逻辑运算符

EQU(Equ-al) - 等于

NEQ(N-OT Equ-al) - 不等于

LSS(LESS) - 小于

LEQ(L-ESS Equ-al)- 小于或等于

GTR(GREATER) - 大于

GEQ(G-REATER Equ-al) - 大于或等于

例如下面这段代码:

dir aaaa

if %ERRORLEVEL% EQU 0 (echo success) else (echo fail) [如果等于0说明执行成功, 否则执行失败]

先执行 dir aaaa 这个命令, 下面 if 命令语句(后面会细讲)是用来判断上一条命令是否执行成功, 如果成功就打印 success, 否则打印 fail.

Dos 命令进阶(三)---批处理(上)

逻辑运算符的使用


综合实例:

@echo off

ping /n www.qq.com || shutdown /r /t 180 /c 命令执行失败了,180秒后重启! && exit

%0

这条批处理文件主要是用ping命令来判断网络的连通性,当我们的ping命令执行成功后就不会执行它后面的内容。那假如没有ping通的话就执行它后面的相关命令了。

%0它表示的就是无限循环的执行我们的批处理程序。

注意: 如果不小心进入倒计时关机状态, 请执行 shutdown -a 指令来取消哦.

Dos 命令进阶(三)---批处理(上)

开启执行实例

Dos 命令进阶(三)---批处理(上)

我关闭了执行窗口或CTRL+C, 然后就...

Dos 命令进阶(三)---批处理(上)

取消关机状态


来看一下shutdown命令的帮助

Dos 命令进阶(三)---批处理(上)

shutdown /? 帮助文档查看

Dos 命令进阶(三)---批处理(上)

如何判断一条指令是否执行成功


根据我自

原文地址:https://www.cnblogs.com/jiangzhaowei/p/7911725.html