目录
内部命令和外部命令
内部命令是系统自带的命令
外部本质是靠应用程序来引用的
外部命令是可以扩展的 通过下载外部程序到C盘的Windows中System 32文件夹中
cmd变量
通过set命令 指定字符串的名字 例如set name=zhangbaihao 使用set name即可查看
通过set name= 空 来删除这个被定义的变量
set /a 5+7
set /p var= 这样可以人机交互 接收用户的输入输出
@echo off set /p var=请输入一个数字: echo 您输入的数字是%var% pause >nul
@echo on off可以打开和关闭命令行的自显示
自定义窗口
利用title命令可以改变窗口的名字
在cmd的白色部分点击 可以设置属性 来更改字体颜色大小 和窗口大小
mode命令可以查看该窗口页面的容纳 字符的多少
mode 行数/列数 来修改窗口的大小
cls清除屏幕上的代码
通过color 背景色代码 字体色代码 (通过color后面加 /?来查看颜色代码) 例如color 07
ping 用于显示网络状况 icmp 发送报文并且接收 查看延迟
ping www.baidu.com 有些网站是不开放ping命令的
/?查看命令的详情 并且可以使用ctrl+C
可以通过高级网络设置加硬件和链接属性来查看计算机的网关
也可以在cmd窗口里面用ipconfig来查看
ping -a 加ipv4地址 查看主机名
cmd基本命令
md 目录名 //创建目录
rd 目录名 //删除目录
del 文件名 //只能删除目录 不能删除文件夹
cls //清除屏幕
taskkill 列出所有的进程
ping命令判断网络故障
检查本地的tcp/ip协议出错,tcp/ip配置出错 物理故障 中毒等
ping ipv4地址 (local host)
检查网关链接是否顺畅
ping 192.168.1.1
检查网络与外部网络连接是否通常
ping www.baidu.com
个人的网络如果要想连接到其它的网络当中 需要由个人主机的报文发给网关 在由网关和网关来对接
goto命令
echo本身有打印的效果
在bat文件中命令的结尾 应该是pause 这样可以保证页面不会一闪而过(按任意键继续....)
rem 解释说明
@echo off rem 以下是注释部分 echo hello world exit echo how are u
exit命令是退出命令
goto跳转命令
@echo off rem 以下是注释部分 echo hello world goto part1 :part1 echo i am zhangbaihao pause
这样跳转到模块
start命令
start命令可以打开电脑中的文件 磁盘甚至是网址
start /max d: 最大化的打开d盘 (字母小写)
start www.baidu.com
start 文件地址时要注意 在有空格的部分用“ ”用双引号括起来
dir命令查看当前目录下的文件
start C:\Users\19816\Desktop\"新建 文本文档.txt"
如果地址存在空格的情况 直接start是找不到文件的 如果在外面整体加" "会跳转到新的窗口
call命令
call程序的调用 分布 简化代码 相互调用代码
主程序文件
@echo off echo 我要开始调用了 call demo.bat echo 引用完成 pause
demo 被调用的文件
@echo off rem 以下是注释部分 echo hello world goto part1 :part1 echo i am zhangbaihao pause
注意这两个文件要放在同一级别上的地址(否者文件会找不到) call是调用文件 主程序调用副程序
call是外部调用文件 goto是内部模块的调用
sort命令
将字符按照一定的规则进行排序 sort加text文件
这个text文件里面是不同的单词或者字符串
rem 指定从字符串的第n个字符开始排序 sort /+3 demo1.text rem 指定倒序排序 sort /r demo1.text
对文件的本身并不影响
如果直接输入文件的名字 那么bat文件会直接执行 或者直接打开文件 相当于start命令
如果type 加文件名字 那么bat文件的代码会显示在cmd窗口当中
desktop文件也在system32文件中 通过cd命令可以到文件层
rem 把排序后的文件保存在另一个文件中 sort demo1.text /o 11.txt rem 会在同级别生成11.text
cmd重定向
重定向 > 、>>、 <、
即使把文件传输到其它的位置
ping www.baidu.com > demo.text rem 生成demo.text文件存储ping 结束后的信息 并且用type命令能显示文件内容
如果使用>反复在一个文件上操作 那么新的记录就会覆盖旧的内容
所以引入 >> 可以把新的内容加在文件的结尾
python退出交互命令用ctrl+z
<读取文件到某个位置
sort < demo.text rem 读取文件demo到屏幕上 并且sort命令进行排序
如果命令错误 如何把错误信息导入一个文件当中
di >right.txt 2>error.txt rem 如果正确会把正确信息结果转移到该文件中 如果错误就把报错信息到error文件当中
shutdow命令
shutdown /?查看更多的命令帮助
shutdown /r -t 120 rem 在120秒后自动关闭电脑 shutdown /a rem 取消关闭计算机的所有命令 cancel取消 shutdown /i 图形化界面
设计一个简单关闭电脑的程序
echo off echo 输入1选择定时关闭计算机 echo 输入2选择立即关机计算机 echo 输入3取消计算机关闭操作 set /p var= goto %var% :1 echo off set /p var=请输入预计关闭计算机的秒数: shutdown /s -t %var% :2 shutdown /s -t 0 :3 shutdown /a
在桌面新建一个text记事本文件 将上面的代码复制粘贴 另存为修改文件后缀为.bat 其次规定为ANSI编码
telnet命令
用于查看端口号是否开放 很容易被黑客使用
window不默认开放 命令行输入control打开控制面板 选择程序 开启或者暂停服务中选择telnet服务 选择开启
telnet www.baidu.com 80 rem 80端口是HTTP的协议端口 一定开放的 telnet www.baidu.com 23 rem 这个端口不开放 会出现错误的回显
特殊字符
| 命令管道符 第一条命令的结果作为第二条命令的参数来使用
& 组合命令 不管第一个命令是否成功 后面的命令继续执行
&& 组合命令 当第一个命令失败以后后面的命令也不会继续被执行 一碰到失败就不在进行了
|| 组合命令 当第一条命令失败才后执行第二条命令
()
echo %errorlevel% rem errorlevel是变量 用于打印错误信息 执行成功结果为0
dir d:\ |find "u" rem 查看前者目录文件中包含字母u的文件 dir d:\ & dir c:\ rem 二者都会运行成功 无论第一个是否成功 dir f:\ && echo 前者不成功,则后者不会运行 dir f:\ || echo 前者不成功,才会运行后者 相当于if else了
pause >nul 会暂停,但是不在屏幕上显示提示信息
@echo off rem 加上@ 代码不会回显包括该条代码 rem echo 1 & echo 2 & echo 3 ( echo 1 echo 2 echo 3 ) rem 即下面是上面的简写哦 pause >nul
特殊字符的实战
dir && echo success || echo not success
打印目录 如果成功打印success 不成功打印not success
dispart硬盘管理命令
convert 命令 改变磁盘的格式类型
diskpart rem 打开磁盘管理 list disk rem 查看硬盘的情况 select disk 0 rem 选择磁盘0 可以后续对其进行操作 clean rem 直接格式化 其它c exit rem 退出系统 compmgmt rem 查看硬盘的具体情况
chkdsk磁盘修复命令
如果强制关机 会导致磁盘出现问题和故障
chkdsk 系统当掉或非法关机 命令需要管理员权限
chkdsk c: rem 查看c盘信息 chkdsk c: /f /r rem 检测c盘信息 并且修复
解决系统文件缺失导致系统故障
sfc /?用于系统修复
sfc /scannow 扫描并且修复该文件
sfc /verifyonly 仅仅扫描该文件
slmgr激活系统
winver rem 查看该计算机的系统版本 slmgr /xpr rem 查看计算机激活截至日期 slmgr /dli rem 查看计算激活详情
wget爬虫命令
wget需要安装 将exe文件放在system32文件夹中 然后就可以在cmd窗口 wget --help
wget www.baidu.com rem 爬取网页代码 wget -r www.baidu.com rem 爬取网页全部信息 如果小网站就会一直爬取信息
reg命令操作注册表
regedit rem 查看电脑注册表 reg /? rem 查询reg命令使用
netstat网络管理命令
netstat -a rem 显示监听的端口和地址 netstat -an rem 显示监听的端口 用数字显示 netstat -ano rem 显示进程号