cmd命令学习
常见cmd命令
- type命令打印文件内容
type test.txt
- cls清空窗口
- cd 切换目录
- md 创建文件夹
- dir 打印当前目录下的文件夹和文件名
- control 直接打开控制面板
- 命令后面加
/?
显示帮助
set命令
设置变量
set name=lzm
使用/a
可以进行运算
set /a var=3+4
使用’/p’可以进行交互输入
set /p var=请输入一个数字
echo 这个数字是%var%
pause >null
如果调用变量的值,需要用%%把名字括起来
echo %path%
暂停
如果要暂停
pause >null
setx设置永久变量
setx PATH "%path%;文件夹路径"
这里用双引号引起来,是为了避免因为空格造成的一些报错
重启cmd后生效
errorlevel
errorlevel可以判断上一条指令执行情况,为0表示成功
echo %errorlevel%
特殊命令字符
命令字符 | 含义 | 解释 |
---|---|---|
|| | 命令管道符 | 将第一条命令的结果作为第二条命令的参数来使用 |
& | 组合命令 | 当第一份命令执行失败了,后面的命令继续执行 |
&& | 组合命令 | 第一个命令失败时,后面的命令也不会执行 |
|| | 组合命令 | 当一条命令失败后才执行第二条命令 |
() | 可以用来括一个代码块,写很多行 | |
; |
举例
dir d:\ | find "picture"
dir c:\ && echo success || echo not success
(
echo 1
echo 2
)
注释
rem comment
通配符
符号 | 含义 |
---|---|
? | 单个字符 |
* | 全部字符 |
dir d:\???
找到d盘下所有名小于3个字符的文件或文件夹
if else语句
@echo off
if exist d:\ (echo 存在d盘) else (不存在d盘)
pause >null
取反:not
判断文件或文件夹是否存在,用if exist
判断字符串是否相等,用==
判断某个变量是否已经被赋值,用if defined str
判断某两个数值是否相等,用if a equ b
判断两个数值之间的大小关系
关系符 | 含义 | 英文 |
---|---|---|
equ | == | equal |
gtr | > | greater than |
geq | >= | greater than or equal |
lss | < | less than |
leq | <= | less than or equal |
neq | != | not equal |
if /i 忽略大小写
for循环
for %%i in (1 2 3 4 5) do echo %%i
这里在命令行中运行用一个
%
在bat文件中要用两个%%
for %%i in (d:\*.txt) do echo %%i
/l
表示渐进增长
for /l %i in (1 2 10) do echo %i
打印1 3 5 7 9
for /l %i in (10 -2 1) do echo %i
打印10 8 6 4 2
具体应用:
for /l %i in (1,1,5) do md test%i
pause >null
/d
用来提取文件夹
for /d %i in (d:\?????) do echo %i
/r
用来提取文件,搜索该目录树下所有的文件,匹配出绝对路径
for /r d:\ %i in (*.txt) do echo %i
重定向
用一个>
是从头开始,>>
是追加,不会覆盖
ping www.baidu.com >D:\test.txt
<
是读文件
sort < demo.txt
处理错误信息流
di >right.txt 2>error.txt
ping命令
通过-a可以解析出主机名
ping -a 10.135.105.219
解析出来的主机名和hostname一样
-w
可以设置超时时间
telnet命令
telnet可以查看某个端口是否可以访问
Telnet命令默认是不能使用的
需要在控制面板->程序和功能->打开或关闭Windows功能
中把Telnet服务打开
常用的是8080端口
telnet www.baidu.com 8080
如果成功就什么都不显示
失败了就一直显示正在连接
netstat命令
用来看连接状态
netstat -a
打印所有连接
状态有3种:LISTENING,ESTABLISHED,TIMEOUT
-o
参数可以打印进程号
实战:查询端口被哪个进程占用了
涉及命令:
命令 | 含义 |
---|---|
netstat | 查询tcp/ip连接命令 |
tasklist | 列举任务进程 |
taskkill | 杀死任务进程 |
taskmgr | 打开任务管理器 |