DOS 命令使用笔记
DOS 是 Disk Operating System
的缩写,即“磁盘操作系统”。DOS 命令是与操作系统交互的人机交互指令,用于操作文件、目录、网络、进程等,以便管理系统。在 DOS 系统中,大小写不敏感。
常用命令概览
文件夹管理
- cd 显示当前目录名或改变当前目录
- md/mkdir 创建目录
- rd/rmdir 删除一个目录
- dir 显示目录中的文件和子目录列表
- tree 以图形显示驱动器或路径的文件夹结构
- path 为可执行文件显示或设置一个搜索路径
- xcopy 复制文件和目录树
文件管理
- type 显示文本文件的内容
- copy 将一份或多份文件复制到另一个位置
- del 删除一个或数个文件
- move 移动文件并重命名文件和目录。(Windows XP Home Edition 中没有)
- ren/rename 重命名文件
- replace 替换文件
- attrib 显示或更改文件属性
- find 搜索字符串
- findstr 搜索字符串,是 find 的扩展,功能更强大
- fc 比较两个文件或两个文件集并显示它们之间的不同
网络命令
- ping 进行网络连接测试、名称解析
- ftp 文件传输
- net 网络命令集及用户管理
- telnet 远程登陆
- ipconfig 显示、修改 TCP/IP 设置
- msg 给用户发送消息
- arp 显示、修改局域网的 IP 地址 - 物理地址映射列表
- netstat 进程网络使用情况统计
- netsh 显示、修改网络配置
- nslookup 域名 DNS 查询工具
系统管理
- at 安排在特定日期和时间运行命令和程序
- shutdown 立即或定时关机或重启
- tskill 结束进程
- taskkill 结束进程(比 tskill 高级,但 WinXPHome 版中无该命令)
- tasklist 显示进程列表(Windows XP Home Edition 中没有)
- sc 系统服务设置与控制
- reg 注册表控制台工具
- powercfg 控制系统上的电源设置
其他
- cls 清除屏幕
- echo 显示信息,或将命令回显打开或关上
- more 逐屏显示输出
- set 显示、设置或删除环境变量
- start 启动另一个窗口运行指定的程序或命令
- systeminfo 显示本地或远程机器(包括服务包级别)的操作系统配置的信息
- narrator 开启讲述人功能
- exit 退出命令解释器或当前批处理脚本
- help 提供命令帮助信息
【NOTE】:DOS 命令查看帮助使用 <command> /?
的形式,如:dir /?
使用示例
目录跳转
我们通常需要在不同的目录间切换以完成工作,切换目录使用 cd
命令,即 change directory 的缩写,cd 不加参数时显示当前目录位置,如果要切换驱动器则需加上 /d 命令,或者使用驱动器号加冒号,如 D:
先切换到相应驱动器再做目录跳转。
C:\Users\Huoty>cd
C:\Users\Huoty
C:\Users\Huoty>cd "C:\Program Files"
C:\Program Files>cd /d D:/
D:\>C:
C:\Program Files>
字符串查找
find
和 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\> 字位置: 字的结束
查看端口占用
Windows 环境下可以用 netstat
命令查看进程的网络统计情况,使用 netstat –ano
可以显示系统中打开的端口和对应的进程号。
- netstat -a:本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED ),也包括监听连接请求(LISTENING )的那些连接,断开连接(CLOSE_WAIT )或者处于联机等待状态(TIME_WAIT )等
- netstat -n:显示所有已建立的有效连接
- netstat -o:显示与每个连接相关的所属进程 ID
可以使用 findstr 来查找端口号被什么进程占用:
netstat -ano | findstr "<端口号>"
然后再通过进程号查找相应进程
tasklist | findstr "
"
重置网路配置
一下命令可以重置 Windows 网络配置:
netsh winsock reset
Winsock 是 Windows 网络编程接口,winsock 工作在应用层,它提供与底层传输协议无关的高层数据传输编程接口。 以上命令能将其恢复到默认状态。以此能解决由于软件冲突、病毒原因造成的参数错误问题。执行此命令后可能需要重新配置 IP,另外因机而异可能会断网或网速变慢等,所以此命令也不要随便执行。
定时关机
命令 shutdown 可用于关闭、重启、注销系统等,命令参数如下:
/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 的正整数)。
定时关机可以使用如下的命令:
# 指定时长后自动关机
shutdown -s -t 3600 # 1 小时后自动关机(单位为秒)
shutdown -s # 这个会弹出自动关机对话框,默认 30 秒后关机
# 指定在具体的时间自动关机
at 20:00 shutdown -s # 使用计划任务添加一条关机任务
设置环境变量
设置环境变量用 set
命令,该命令在没有任何参数时显示当前所有环境变量,如果仅指定变量名则显示该环境变量的值。
# 显示当前所有环境变量
set
# 查看某个环境变量,如PATH
set PATH
# 添加环境变量,如 xxx=aa
set xxx=aa
# 将环境变量(如 xxx)的值置为空
set xxx=
# 在某个环境变量(如 PATH)后添加新的值(如 d:\xxx)
set PATH=%PATH%;d:\xxx
【NOTE】:以命令行方式对环境变量的操作只对当前窗口的应用有效
扫描局域网机器
使用 arp
可以扫描到同一 WLAN 下的所有主机的 IP 及其 MAC。ARP 是一个重要的 TCP/IP 协议,并且用于确定对应 IP 地址的网卡物理地址。要扫描局域网上的所有 IP,可以使用如下命令:
C:\Users\Huoty> arp -a
接口: 192.168.1.118 --- 0xd
Internet 地址 物理地址 类型
192.168.1.1 58-ef-68-b7-17-00 动态
192.168.1.2 b0-95-8e-14-92-27 动态
192.168.1.102 00-28-f8-3e-09-db 动态
192.168.1.137 f0-18-98-64-84-e4 动态
192.168.1.139 e8-b1-fc-5e-92-aa 动态
192.168.1.148 ac-e0-10-3e-41-8f 动态
192.168.1.149 a4-5e-60-cb-c7-69 动态
也可以安装 nbtscan 工具,其可列出主机名:
C:\Users\Huoty>nbtscan 192.168.1.1/24
192.168.1.160 WORKGROUP\WINDOWS-0UST755 SHARING
192.168.1.189 WORKGROUP\DESKTOP-DBRPHJ4 SHARING
192.168.1.215 WORKGROUP\LENOVO-E450C SHARING
192.168.1.207 WORKGROUP\HP SHARING
域名 DNS 解析
使用 nslookup
命令可以查询域名的 DNS 解析。示例:
> nslookup blog.konghy.cn
服务器: LEDE.lan
Address: fd52:eef0:ad3e::1
非权威应答:
名称: blog.konghy.cn
Address: 104.168.215.21
如果需要刷新本地的 DNS 缓存,则可以使用:ipconfig /flushdns
参考资料
本文使用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可,转载请注明出处