CMD(command)是windows系统命令提示符程序,它提供了查询系统信息和网络信息,Dos是磁盘操作系统,早期它是单独存在的,在计算机发展与操作系统整合兼容,并可以在cmd窗口中直接操作dos(在cmd中没有明确区分cmd和dos的命令),在对磁盘文件的操作都属于dos的范畴,Cmd和Dos是批处理的基础
一,CMD的基础知识
1,变量
变量:可以被赋值的改变的量
1.1,变量的设置
set :变量设置命令,也可以进行算术运算(通过set可以临时设置环境变量)
/A 执行算术运算
/p 变量的手动输入赋值
1.2,变量的读取
格式:%变量名%
一个%%中间一个变量名来提醒系统这是一个变量,如果是单纯的变量名就会当成普通字符串处理
2,管道和重定向+命令的并行
2.1,管道
windows和Linux的管道概念是一样的,是一个传输桥梁,就是把一个命令的输出通过通过管道传入给另一个命令作为输入,在find筛选查询时常用
用 | 来表示管道
2.2,重定向
重定向就是把一个文件的内容输入到另一个文件,就不会在打印输出
》: 重定向文件,但会覆盖
》》: 重定向文件,追加
2.3,命令的并行
||:不具有短路,第一个命令的错误不会影响
&&:具有短路,第一个命令错误会影响第二个命令的执行
3,批处理文件参数的接收
在批处理文件中通过 %任意数字 的方式来接收参数,数字的大小来判断是对应那个位置的参数
如一个文件(w.cmd)内:
echo off echo %1 echo %2 pause
4,回显
echo 功能:
1,可以显示输入内容
2,可以开启关闭回显
回显:就是首部的提示
5,注释
cmd的注释方式有多种:
1,::注释内容(常用)
2,rem 注释内容
3,:注释内容(不能和程序段重名)
二,cmd网络命令(参数只写常用的)
一,ping
ping 命令其实是一个应用程序,在网络模型的IP网络层中,icmp用来返回错误信息和网络状况,IP像传输层的UDP一样是无连接的,错包不能检验,ping程序就是依赖于icmp
ping IP地址或者域名
/n :指定ping命令要回显的条数 ,必须指定数量
二,ipconfig
与Linux的ifconfig一样,查看本地网络信息
/all:查看完整的信息,如:DHCP,物理地址
/displaydns:显示dns解析程序缓存的内容
/flushdns:清空dns解析程序缓存的内容
/release:释放IPV4的地址(地址释放:指动态地址的释放,当要访问外网地址时,DHCP会在公网上拿一个空闲的地址)
/relese6:释放了IPV6的地址
三,tracert
在网络模型的路由层,IP寻址的逐跳的,在不同的路由器之间跳跃,tracert可以显示追踪你经过的路由节点和对应路由的IP地址
/h :设置追踪路由数量,如:/h 2 只追踪2个节点
/w:设置超时时间
四,telnet
telnet是TCP/IP协议中的一员,是一个基于TCP/IP个的远程登录服务的标准协议,它可以远程连接其它主机和服务器,发送消息,但他是不安全的,没有加密,可以被轻易的抓取,现在没有什么实际用途
在windowns中telnet服务默认是关闭的,打开步骤:控制面板 -> 程序 -> 启动或关闭window功能 -> 勾选telnet功能
telnet IP号 端口号
例:在Linux 通过nc -l -h 启动一个监听端口,telnet连接端口,发送信息
五,arp
arp:物理地址映射
在不同网络主机的信息传输中,信息IP头部通过路由器来寻址具体IP所在的局域网位置,但信息的真正发送是依赖于物理地址的,有物理地址就能真正传输字节数据,
从IP地址到物理地址就需要arp的映射,arp表缓存了IP和物理的映射关系
/a:显示本地的arp表
/s:手动添加arp的映射关系
三,cmd文件命令
1,文件和文件夹的创建
1.1,文件夹的创建
rmdir 文件名
1.2,文件的创建
在window中和linux(touch)不同他没有指定创建文件命令,cmd文件的创建的依赖重定向
echo 文件内容 > 文件名.后缀名
echo回显数据
》把回显数据重定向到文件,假如没有文件就创建一个文件
第二种方式创建文件:
fsutil file createfile 文件名 大小
这种方式需要指定文件的大小,可以恶搞
1.3,文件夹和文件的查看
1.3.1,文件夹的查看
dir:查看文件夹中的所有文件,可以通过find查指定文件
1.3.2,文件的查看
type 文件名 :查看文件内容
1.4,文件的重命名和删除
1.4.1,文件的重命名
rename(ren) 原文件名 当前文件名
1.4.2,文件的删除
del 文件名
/P :删除一个文件时提示是否删除
/Q:安静模式,不需要确认
/S:如果有子文件,则递归删除文件
/F:强制删除文件
1.4.3,文件的移动
move 文件名 路径
1.5,文件的属性修改
在cmd中文件的属性修改用attrib
attrib 参数 文件名
通过+ - 来增加或减少属性
+:增加属性
-:消除属性
R:只读文件属性
H:隐藏文件属性
A:存档文件属性
O:脱机文件属性
1.6,文件拓展名关联
在windows中不同的拓展名都关联了对应的解析程序,如:.txt = .txt .txt关联了.txt的拓展名解析程序
我们可以增加修改拓展名关联如 .txt =oo oo是不存在的,之后写文本就会报错
assoc 拓展名 = 关联的解析程序
四,cmd系统命令
一,系统的关闭,重启,注销
windows的关闭重启锁定都有shutdown
格式:shutdown 参数
主要参数:
/h:休眠计算机
/s:关闭计算机,有超时或者警告 /p:关闭计算机,没有超时和警告
/r:重启计算机
/l:注销计算机
其他参数:
/t 时间(秒):定时关机,多少时间之后关机
/c "内容":注释为什么关机
/i:打开GUI关机界面
/f:强制关机
远程关机GUI界面:
二,系统进程的查看,启动和关闭
一,进程的查看
taskkill
远程查看参数:
/s IP地址:指定要连接的远程系统
/u 用户名:指定远程系统的用户(可选项)
/p 密码:选择用户名就需要密码
其他查看参数:
/v:查看详细信息
/FO:指定输出格式,有效值"table","list","csv"
/SVC:显示每一个进程主持的服务
/HN:列标题不输出显示
条件查询:
/m:通过模块来查询(exe/dll服务)
格式:/m 关键字* (*:通配符)
重点:
/FI :指定筛选器来查询指定信息
筛选器:
筛选器名称 有效运算符 有效值 ----------- --------------- -------------------------- STATUS eq, ne RUNNING | SUSPENDED NOT RESPONDING | UNKNOWN IMAGENAME eq, ne 映像名称 PID eq, ne, gt, lt, ge, le PID 值 SESSION eq, ne, gt, lt, ge, le 会话编号 SESSIONNAME eq, ne 会话名称 CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为 hh:mm:ss。 hh - 小时, mm - 分钟,ss - 秒 MEMUSAGE eq, ne, gt, lt, ge, le 内存使用(以 KB 为单位) USERNAME eq, ne 用户名,格式为 [域\]用户 SERVICES eq, ne 服务名称 WINDOWTITLE eq, ne 窗口标题
筛选器名称指筛选器的类型:
pid :通过pid来查询
二,进程启动
start 进程名(或者PID)
参数:
P:不在新窗口开启
max:最大化窗口开起
min:最小化窗口关闭
三,进程关闭
taskkill 进程关闭和tasklist进程查看形式基本一致
远程操作(前提对方主机要打开远程操作):
/s:指定主机名
/u:指定用户
/p:密码
常用参数:
/im:用进程的映像名称来关闭,如:/im exporer.exe
/pid:用用户pid来关闭 如:/pid 1400
/fi:用筛选器来关闭一系列进程,和taskliat一样
/f:强制关闭
三,系统用户操作
在对系统用户信息的增删改查通过 net user 参数 来实现
查看用户信息:
net user :直接可以查看系统的用户信息
增加用户:
net user /add 用户名 密码(可选项)
删除用户:
net user /del 用户名 密码(可选项)
四,cmd脚本编写
严格意义上命令不区分脚本命令和命令行命令,但使用时命令之间是有区别的,这里我把它分为两类(脚本命令,命令行命令),有些脚本命令不适合命令行,如:call 脚本文件在内部调用其他文件,
一,脚本常用命令
1,pause
pause是批处理常用命令
作用:暂停批处理程序,并显示 "请按任意键继续. . ." 信息
2,程序内部调用
call 文件路径
3,程序输入
set之前说过
set /p 变量名 = "提示信息"
4,程序段的跳转
cmd脚本其实也是面向过程的高级语言,它不像面向对象的java,它通过goto来实现代码间的调用
格式:goto 程序段标识
注:goto本身是自带循环的,如果没有终止会一直调用,可以用exit退出当前程序段
程序段的定义:它就相对于java中的方法
:程序段名称
例: ::无限窗口 echo off :WQL start cmd goto WQL
二,脚本语法
cmd脚本比较简单,它的主要结构除了程序段的定义就是if语句和for循环
一,IF语句
格式:if 判断条件 (执行语句) else (执行语句)
与java的if不同,cmd的IF条件判断分四种:
1,判断字符串
if " 字符 "= "字符" (执行语句) else (执行语句)
2,文件的判断
判断文件是否存在
if exist 文件路径 (执行语句) else (执行语句)
3,判断变量是否被赋值
if defined 变量名 (执行语句) else (执行语句)
4,判断数值
if 数值1 条件 数值2 (执行语句) else (执行语句)
条件:
等于 equ equal
大于 gtr greater than
大于或等于 geq greater than or equal
小于 lss less than
小于或等于 leq less than or equal
不等于 neq no equal
二,for循环
格式:for 参数 变量名 in(集) do 执行操作
变量的表现形式:
脚本中:%%名称
命令行:%名称
一,遍历文件
格式:for /l 变量 in (路径+通配符) do 执行操作
/l:不是递归的遍历文件,且需要通配符去匹配,只遍历当前文件夹的文件
通配符:
*:任意
.:多个
?:0或1个
不加通配符不能匹配
二,递归遍历文件
格式:for /r 变量 in (路径) do 执行操作
/r:不需要通配符,直接遍历文件下和其子文件下的所有文件tree
三,次数循环
格式:for /l 变量 in (起始数,步长,终止数) do 执行操作
四,无参数for
格式:for 变量 in (n条数据) do 执行操作
注:数据之间用逗号或者空格隔开
把写入括号的数据循环赋值给变量
到此cmd的命令基础就结束了,还有一些命令没写可以自己去查
Comments | NOTHING
Warning: Undefined variable $return_smiles in /www/wwwroot/wql_luoqin_ltd/wp-content/themes/Sakura/functions.php on line 1109