CMD命令笔记总结
一、cmd 是什么?
cmd就是在运行在windows系统下的一个命令行窗口,可以通过Win+R打开运行框,输入cmd后回车即可打开。
cmd同linux下的命令行一样,具有包括文件管理,网络操作,文本查看,进程操作在内的强大操作能力。虽然不计linux下的命令行,但是在windows下有些命令还是能帮助我们解决一些问题,提高效率的。
二、常用命令
cd 进入文件目录
dir 列出目录文件
/A 显示具有指定属性的文件。
属性 D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 I 无内容索引文件
L 解析点 - 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。
/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
禁用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
排列顺序 N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 反转顺序的前缀
/P 在每个信息屏幕后暂停。
/Q 显示文件所有者。
/R 显示文件的备用数据流。
/S 显示指定目录和所有子目录中的文件。
/T 控制显示或用来分类的时间字符域。
时间段 C 创建时间
A 上次访问时间
W 上次写入的时间
/W 用宽列表格式。
/X 显示为非 8.3 文件名产生的短名称。格式是 /N 的格式,
短名称插在长名称前面。如果没有短名称,在其位置则
显示空白。
/4 用四位数字显示年
- 常用命令
- 递归列出该路径下doc结尾的文件
dir /s /b *.doc
- 查看本地路径下存在目录
dir /aD
- copy 复制文件
- xcopy 复制目录
- move 剪切
- ren 重命名
- replace 替换
replace /a 路径一 路径二 # 把文件添加到新地方,类似复制
自定义cmd界面
title 重名命cmd名称
title this is test
mode 设置窗口大小(宽,高)
mode 100,50
colour 设置cmd的背景和字体颜色
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 浅绿色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色
"COLOR fc" # 在亮白色上产生淡红色
变量
- 设置变量,以name变量为例
set name=xxx
- 打印变量
set name
- 释放变量
set name=
常用参数
- set /a 表达式
set /a var name=4/2
- set /p 命令行开关允许将变量数值设成用户输入的一行输入
@echo off
set /p name=请输入一个数字
echo 你输入的数字是:%name%
pause >nul
永久变量设置
setx path "%path%;文件夹目录"
特殊字符
- | 管道符号
- & 类似and
- && 前面执行成功才执行后面
- || 前面执行失败才执行后面
- () 为了隔开美观
# dir执行成功打印sucess 否则fales
dir && echo sucess || echo false
通配符
- ? 代表单个字符
dir /b ??.mp4 # 列出两个字符名称的mp4文件
- * 代表全部
dir /b *.mp4 # 列出所有mp4文件
逻辑结构
if语法格式
- 判断文件或者文件夹是否存在, 用if exist语句
if exsit f:1.txt (echo sucess) else (echo false)
- 判断某两个字符串是否相等。用if "字符串1" == “字符串2” 语句
if "1"=="1" (echo sucess) else (echo false)
- 判断某个变量是否已经被赋值,用if defined str 语句
if defined name (echo succse)
- 判断两个数值是否相等,if 数值1 equ 数值2 语句
if 2 gtr 1 (echo sucess)
- 条件符
- 等于 equ equal
- 大于 gtr greater than
- 大于或等于 geq
- 小于 less less than
- 小于或等于 leq
- 不等于 neq
for语法格式
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters
为特定命令指定参数或命令行开关。
在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.
如果启用命令扩展,则会支持下列 FOR 命令的其他格式:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,
则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-parameters]
该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列
1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 1)
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
或者,如果有 usebackq 选项:
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
fileset 为一个或多个文件名。继续到 fileset 中的下一个文件之前,
每份文件都被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字,
然后将每行解析成零或更多的符号。然后用已找到的符号字符串变量值调用 For 循环。
以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。跳过空白行。
你可通过指定可选 "options" 参数替代默认解析操作。这个带引号的字符串包括一个
或多个指定不同解析选项的关键字。这些关键字为:
eol=c - 指一个行注释字符的结尾(就一个)
skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。这个替换了空格和制表符的
默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代
的 for 本身。这会导致额外变量名称的分配。m-n
格式为一个范围。通过 nth 符号指定 mth。如果
符号字符串中的最后一个字符星号,
那么额外的变量将在最后一个符号解析之后
- 查看当前文件下的目录文件
for /d %i in (*) do echo %i
- 从指定文件中以空格分开,第二列后打开输出每行内容
for /F "token=2-3,delims=" %i in (e:1.txt) do echo %i
重定向操作符
> 输出>> 增加输出< 输入
句柄的数字代码描述
- 0:键盘输入
- 1:输出到命令提示符窗口
- 2:错误输出
di >right.txt 2>error.txt # 如果错误就输出到error.txt中去
网络命令
ping
ping host -t # 一直ping
ping host -n count # 发送包量
ifconfig
ipconfig /all # 查看所有网络配置信息
ipconfig /renew # 更新所有适配器,重新获取ip
ipconfig /release # 释放ip
ipconfig /flushdns # 刷新dns
netstat 显示当前网络协议连接情况
netstat -ano # 查看当前连接情况
net
- net user # 查看用户信息
- lusrmgr.msc # 图形用户管理
- net localgroup # 本地用户组管理
- net share
net share f=F:/ 共享F盘 net share f /delete 取消共享 net start + 服务 # 开启服务
netsh
netsh dump > 路径 # 备份所有的网络设置
netsh int ip # 查看网卡设置 set address name="wlan" source=static addr=192.168.0.2 mask=255.255.255.0 gateway=192.168.0.1 # 设置静态ip set address name="wlan" source=dhcp # 自动获取ip
netsh winsock reset # 重新安装网络协议ping本地不通时
netsh firewall set opmode mode=enable # 开启防火墙
netsh wlan show profiles # 查看当前系统已经保存的网络
netsh wlan show profiles name="ssid" key=clear | findstr 关键内容# 查看某个ssid的信息其中含密码
高级命令
attrib
type nul>1.txt # 创建空文件 attrib +h 1.txt # 将文件设置为隐藏
goto 跳转函数
goto part1
:part1
echo test
exit
call 调用程序
call demo.bat
start 打开程序
net use IPC
- 建立空连接
net use IPipc$ "" /user:""
- 建立非空连接
net use IPipc$ "用户名" /user:"密码"
- 映射默认默认共享,将对方c盘映射本地z盘
net use z: IPc$ "密码" /user:"用户名"
- 删除一个IPC$连接
net use IPipc$ /del
- 删除共享映射
net use c: /del
reg 增删改查注册表命令(regedit是图形表)
REG Operation [Parameter List]
Operation [ QUERY | ADD | DELETE | COPY |
SAVE | LOAD | UNLOAD | RESTORE |
COMPARE | EXPORT | IMPORT | FLAGS ]
案例
- 在内网ping查找存活主机
for /l %%i in (1,1,255) do ping -n 1 192.168.0.%i | findstr 字节 >> iplist.txt
- 批量创建文件或文件夹
for /l %%i in (1,1,100) do md 新建文件夹%i
- 批量找出特定后缀的文件名
for /r f: %i in (*.txt) do echo %%i
- 在文件中检索关键字
@echo off
title
:start
set /p name=请输入你要搜索的内容:
type test.txt | findstr %name%
if %name%==exit (goto end) else (goto start)
:end
exit
pause >nul
- 设置ip
netsh interface ip set address name="wlan" source=static addr=x mask=x gateway=x 1
查看基本信息
命令 |
功能 |
---|---|
winver |
系统信息 |
gpedit.msc |
–组策略 |
regedit.exe |
-注册表 |
eventvwr |
事件查看器 |
lusrmgr.msc |
用户组查看器 |
services.msc |
本地服务设置 |
devmgmt.msc |
设备管理器 |
compmgmt.msc |
计算机管理 |
diskmgmt.msc |
磁盘管理实用程序 |
常用工具
命令 |
功能 |
---|---|
regedt32 |
-注册表编辑器 |
calc |
启动计算器 |
taskmgr |
–任务管理器(2000/xp/2003 |
mmc |
打开控制台 |
write |
-写字板 |
notepad |
–打开记事本 |
mspaint |
–画图板 |
mstsc |
-远程桌面连接 |
charmap |
–启动字符映射表 |
osk |
打开屏幕键盘 |
magnify |
–放大镜实用程序 |
mplayer2 |
-媒体播放机 |
- WCF后续之旅(11): 关于并发、回调的线程关联性(Thread Affinity)
- WCF后续之旅(11): 关于并发、回调的线程关联性(Thread Affinity)
- 解决文本框在updatepanel中得到焦点,输入法不能切换到中文的问题
- 得到真实外网IP、IP所在国家、省份、地区
- 机器学习在智能制造中的应用!
- sql2008 附加数据库时 错误5123
- Logistic Regression Models分析交互式问答译
- 照虎画猫写自己的Spring——依赖注入
- Logistic Regression Models分析交互式问答译
- Asp.Net开发等级星使用(Jquery Rating)
- Enterprise Library Policy Injection Application Block 之四:如何控制CallHandler的执行顺序
- 人工智能时代的艺术
- asp.net生成静态页
- Enterprise Library深入解析与灵活应用(1):通过Unity Extension实现和Policy Injection Application Block的集成
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法