CMD/DOS学习笔记
文章目录
- 0x01 CMD变量
- 0x02 自定义窗口
- 0x03 ping命令
- 0x04 pause & exit
- 0x05 注释
- 0x06 goto跳转命令
- 0x07 start 运行命令
- 0x08 call 调用命令
- 0x09 sort排序命令
- 0x10 CMD重定向
- 0x11 shutdown命令
- 0x12 telnet命令
- 0x13 特殊字符命令
- 0X14 diskpart磁盘管理命令
- 0x15 chkdsk磁盘修复命令
- 0x16 系统修复命令sfc
- 0x17 激活命令slmgr
- 0x18 wget爬虫命令
- 0x19 reg 操作注册表命令
- 0x20 netstat网络管理命令
- 0x21 net命令
- 0x22 netsh网络配置命令行工具
0x01 CMD变量
1.自定义变量
C:\Users\DELL>set name=123
注:解决中文乱码
chcp 65001>nul #设置编码防止乱码
2.输出变量
C:\Users\DELL>set name
name=123
C:\Users\DELL>echo %name%
123
3 删除变量,赋值变量为空即可
C:\Users\DELL>set name=C:\Users\DELL>set name
环境变量 name 没有定义
4 算数运算set /a
C:\Users\DELL>set /a num=1+2
3
看看没有/a的情况
C:\Users\DELL>set a=1+2
C:\Users\DELL>set a
a=1+2
5 接受用户输入set /p
@echo off #关闭回显,不显示正在执行的批处理命令及执行的结果
set /p var=请输入一个数字:
echo 你输入的数字为:%var%
pause>nul
*********************运行结果********************************
请输入一个数字:79
你输入的数字为:79
0x02 自定义窗口
1 改变窗口标题_title
title SQL注入工具
2 改变窗口大小_mode
mode 宽,高
3 改变背景和字体颜色_color
C:\Users\DELL>color/? #命令加/?查看帮助
设置默认的控制台前景和背景颜色。COLOR [attr]attr 指定控制台输出的颜色属性。颜色属性由两个十六进制数字指定 -- 第一个
对应于背景,第二个对应于前景。每个数字
可以为以下任何值:0 = 黑色 8 = 灰色1 = 蓝色 9 = 淡蓝色2 = 绿色 A = 淡绿色3 = 浅绿色 B = 淡浅绿色4 = 红色 C = 淡红色5 = 紫色 D = 淡紫色6 = 黄色 E = 淡黄色7 = 白色 F = 亮白色
4 改背景为蓝色,字体为黑色
color 10 #1_蓝色,0_黑色
0x03 ping命令
选项:-t Ping 指定的主机,直到停止。若要查看统计信息并继续操作,请键入 Ctrl+Break;若要停止,请键入 Ctrl+C。-a 将地址解析为主机名。-n count 要发送的回显请求数。-l size 发送缓冲区大小。-f 在数据包中设置“不分段”标记(仅适用于 IPv4)。-i TTL 生存时间。-v TOS 服务类型(仅适用于 IPv4。该设置已被弃用,对 IP 标头中的服务类型字段没有任何影响)。-r count 记录计数跃点的路由(仅适用于 IPv4)。-s count 计数跃点的时间戳(仅适用于 IPv4)。-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。-w timeout 等待每次回复的超时时间(毫秒)。-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。根据 RFC 5095,已弃用此路由标头。如果使用此标头,某些系统可能丢弃回显请求。-S srcaddr 要使用的源地址。-c compartment 路由隔离舱标识符。-p Ping Hyper-V 网络虚拟化提供程序地址。-4 强制使用 IPv4。-6 强制使用 IPv6。
常用参数:
-n 发送指定数量数据包
-w 设置超时时间
-a 将地址解析为主机名
0x04 pause & exit
pause & exit 功用是不一样的。
- exit是退出,不是可有可无,因为它可以用在循环体中。放在末尾当然无实际意义。
- pause 是暂停,要求操作者互动,也就是程序运行到这一句的时候停下来,显示一条“按下任意键继续……”的提示信息,等待操作者按任意键后继续执行下一步指令,后面的指令是什么,它就执行什么,不一定是退出。
pause:
exit:
界面直接退出
0x05 注释
注释有rem
和::
@echo off #关闭回显,不显示正在执行的批处理命令及执行的结果
rem 注释1
:: 注释2
pause
*********************运行结果********************************
Press any key to continue . . .
0x06 goto跳转命令
使用方法
goto label
参数说明:
label 指定批处理程序中用作标签的文字字符串。
标签必须单独一行,并且以冒号打头。
示例
@echo off
echo 跳过中间的命令执行最后一条命令
goto last
echo 哈哈哈哈
echo 啧啧啧啧
:last
echo 嘻嘻嘻嘻
0x07 start 运行命令
作用:打开盘符、文件、文件夹、网址、程序
例子:打开d盘
start d:/
打开桌面的1.txt
start d:/desktop/1.txt
打开www.baidu.com
start www.baidu.com
打开计算器
start calc
注:如果路径里有空格必须给路径中有空格的地方加双引号
start C:\"Program Files (x86)"\360\1.txt
如果当前目录下有aa bb
目录,打开它的正确命令为start "" "aa bb"
,而不是start "aa bb"
0x08 call 调用命令
语法: call FileName
参数:FileName 指定要调用的批处理程序的位置和名称。Filename 参数必须是.bat 或 .cmd 扩展名的类型文件。
例子:在bash.bat
中调用demo.bat
bash.bat
@echo off
call demo.bat
pause
demo.bat
@echo off
echo hello world
echo hello zzz
pause
运行结果
0x09 sort排序命令
参数 | 描述 |
---|---|
/+n |
指定开始每次比较的字符数n。 /+3表示每次比较应该从每行的第三个字符开始。 少于n个字符的行在其他行之前进行排序。 默认情况下,比较从每行的第一个字符开始。 |
/R | 颠倒排列顺序,即,从 Z 到 A,再从 9 到 0。 |
/O | 指定在哪个文件中储存经过排序的输入。 |
利用sort进行排序1.txt
1.txt
1
asd
qwe
wer
fds
2
poi
3
lkg
ijn
mhr
ev
执行结果
D:\desktop\flask>sort 1.txt
1
2
3
asd
ev
fds
ijn
lkg
mhr
poi
qwe
wer
利用sort,按单词的第二个字符顺序排列
D:\desktop\flask>sort /+2 1.txt
1
2
3
fds
wer
mhr
ijn
lkg
poi
asd
ev
qwe
0x10 CMD重定向
重定向操作符
>、>>、<
1、覆盖保存>
D:\desktop\flask>ping www.baidu.com > 1.txtD:\desktop\flask>type 1.txt正在 Ping www.a.shifen.com [36.152.44.95] 具有 32 字节的数据:
来自 36.152.44.95 的回复: 字节=32 时间=10ms TTL=57
来自 36.152.44.95 的回复: 字节=32 时间=8ms TTL=57
来自 36.152.44.95 的回复: 字节=32 时间=9ms TTL=57
来自 36.152.44.95 的回复: 字节=32 时间=9ms TTL=5736.152.44.95 的 Ping 统计信息:数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):最短 = 8ms,最长 = 10ms,平均 = 9ms
2、追加>>
D:\desktop\flask>echo 这是追加的信息233333333333333333333333333 >>1.txtD:\desktop\flask>type 1.txt正在 Ping www.a.shifen.com [36.152.44.95] 具有 32 字节的数据:
来自 36.152.44.95 的回复: 字节=32 时间=10ms TTL=57
来自 36.152.44.95 的回复: 字节=32 时间=8ms TTL=57
来自 36.152.44.95 的回复: 字节=32 时间=9ms TTL=57
来自 36.152.44.95 的回复: 字节=32 时间=9ms TTL=5736.152.44.95 的 Ping 统计信息:数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):最短 = 8ms,最长 = 10ms,平均 = 9ms
这是追加的信息233333333333333333333333333
3、<
D:\desktop\flask>sort < 11.txt
1
2
3
asd
ev
fds
ijn
lkg
mhr
poi
qwe
wer
句柄的数字代码描述
0:键盘输入 1:输出到命令行提示窗口 2:错误输出
正确信息输出到right.txt,错误信息输出到error.txt
qaq 1>right.txt 2>error.txt
0x11 shutdown命令
1、显示图形用户界面(GUI)。
shutdown /i
2、关机shutdown /s
3、重启计算机shutdown /r
4、中止系统关闭。shutdown /a
5、休眠本地计算机。shutdown /h
6、将关闭前的超时时间设置为 xxx 秒。shutdown /t xxx
0x12 telnet命令
定义:查看某个端口是否可访问
win7系统默认telnet功能是关闭的。需要手动打开。
示例:查看www.baidu.com的23端口是否开启
telnet www.baidu.com 23
如下回显则表示没有开启23端口:
如果跳转到另外一个页面则表示端口开启,如下测试我的服务器22端口是否开启
telnet 121.196.196.190 22
跳转到了另外一个页面,22端口是开启的
0x13 特殊字符命令
前置知识——变量
errorlevel
,
bat脚本中常用%errorlevel%
表达上一条命令的返回值,即命令执行状态码、也称命令退出码。
一般上一条命令的执行结果返回的值只有两种,0和非0 (如常见的1,2,4,5,9009等等),成功返回0
,失败返回非0
- 9009:输入的命令错误,或者不存在的命令,这时就会返回9009这种状态码,比如输入一个不存在的命令qaq。
C:\Users\DELL>qaq
'qaq' 不是内部或外部命令,也不是可运行的程序
或批处理文件。C:\Users\DELL>echo %errorlevel%
9009
- 0:上一条命令执行成功,比如执行一个命令
whoami
,因为执行成功所以返回0.
C:\Users\DELL>whoami
desktop-9t67pji\dellC:\Users\DELL>echo %errorlevel%
0
进入正题
符号 | 名称 | 作用 |
---|---|---|
| | 命令管道符 | 将第一条命令的结果作为第二条命令的参数来使用 |
& | 组合命令 | 当第一个命令执行失败了,后面的命令继续执行 |
&& | 组合命令 | 如果第一个命令失败,后边的命令也不会执行 |
|| | 组合命令 | 第一条命令执行失败后才执行第二条命令 |
() | 补充(不常用) | 代替& |
; |
例子一:()
代替&
@echo off
(echo 1echo 2echo 3
)
pause
C:\Users\DELL>echo 1 & echo 2 & echo 3
1
2
3
例子二,使用&&
和||
代替if...else...
@echo off
md test&&echo 成功创建文件夹test||echo 创建文件夹test失败
pause
效果等同于如下代码:
@echo off
md test
if "%errorlevel%"=="0" (echo 成功创建文件夹test) else echo 创建文件夹test失败
pause
0X14 diskpart磁盘管理命令
convert命令:将 FAT 卷转换为 NTFS。
# 将c盘转换为ntfs格式
convert c: /fs:ntfs
diskpart命令:
C:\Users\Administrator>diskpart # 进入命令行模式DISKPART> list disk # 列出磁盘磁盘 状态 大小 可用 Dyn Gpt-------- ------------- ------- ------- --- ---磁盘 0 联机 931 GB 2048 KB * # 磁盘0为c盘磁盘 1 联机 119 GB 2048 KB * # 磁盘1为d盘DISKPART> select disk 0 # 选择磁盘0进行操作
磁盘 0 现在是所选磁盘。
然后可以对该磁盘进行一些操作。如:
查看磁盘的详细信息Detail disk
DISKPART> Detail diskVMware, VMware Virtual S SCSI Disk Device
磁盘 ID: 600EF262
类型 : SAS
状态 : 联机
路径 : 0
目标 : 0
LUN ID : 0
位置路径 : PCIROOT(0)#PCI(1500)#PCI(0000)#SAS(P00T00L00)
当前只读状态: 否
只读: 否
启动磁盘: 是
页面文件磁盘: 是
休眠文件磁盘: 否
故障转储磁盘: 是
群集磁盘 : 否卷 ### LTR 标签 FS 类型 大小 状态 信息---------- --- ----------- ----- ---------- ------- --------- --------卷 1 C NTFS 磁盘分区 49 GB 正常 系统
清除物理磁盘所有信息,格式化Clean
,c盘好像不允许格式化
DISKPART> clean虚拟磁盘服务错误:
在包含当前启动卷、系统卷、页面文件卷、
故障转储卷或休眠卷的磁盘上不允许执行清除操作。
然后就是最重要的分区了
基本知识:
主分区、扩展分区和逻辑分区。一个硬盘至少有1个主分区,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。分出主分区之后,应该把剩下的硬盘容量全部划分给扩展分区。扩展出来的分区不能直接使用,必须再继续划分成若干个逻辑分区,也就是说逻辑分区是从扩展分区中划分的,是扩展分区的一部分!所有逻辑分区的容量之和等于扩展分区!硬盘容量等于主分区加扩展分区容量!主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。明白这些之后,就应该知道接下来做什么?对!先创建一个主分区!
我的虚拟机win10只有一个50g的c盘,现在我要从c盘分20G出来作为F盘。
1.单开命令行输入diskpart
2.List volume
查看各卷容量和ID,卷1是c盘
3.选择卷1,Select volume X
,X为卷的ID
4.压缩20G出来,Shrink desired = 20480
单位是MB,20G即20480M
现在该磁盘有20G可用
将这20G转换为拓展分区,也可以直接将剩下的分区全部转换为拓展分区Create partition extended
,在这里效果是一样的,因为只有20G可用。
使用List partition
查看已经创建好的分区!
用这20G创建一个逻辑分区。使用命令Create partition logical size=20480
快速格式化逻辑分区,Format quick
设置盘符为F,assign letter=f
,成功添加了一个F盘
退出exit
0x15 chkdsk磁盘修复命令
- chkdsk(系统当掉或非法关机)
修复c盘,这里的c为磁盘的盘符,也就是你所要修复的盘符号,比如你想修复d盘,就将c替换成d,后边的/f就是修复参数
chkdsk c: /f
0x16 系统修复命令sfc
sfc命令(system file check)
参数
/SCANNOW 扫描所有保护的系统文件的完整性,并尽可能修复有问题的文件。
/VERIFYONLY 扫描所有保护的系统文件的完整性。不会执行修复操作。
/SCANFILE 扫描引用的文件的完整性,如果找到问题,则修复文件。指定完整路径 <file>
/VERIFYFILE 验证带有完整路径 <file> 的文件的完整性。不会执行修复操作。
/OFFBOOTDIR 对于脱机修复,指定脱机启动目录的位置
/OFFWINDIR 对于脱机修复,指定脱机 Windows 目录的位置
示例:
sfc /SCANNOW
sfc /VERIFYFILE=c:\windows\system32\kernel32.dll
sfc /SCANFILE=d:\windows\system32\kernel32.dll /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows
sfc /VERIFYONLY
0x17 激活命令slmgr
查看激活的截止日期
slmgr /xpr
查看许可证详细信息
slmgr /dlv
卸载产品秘钥,upk即uninstall package
slmgr /upk
安装产品秘钥
slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
0x18 wget爬虫命令
wget命令为linux自带,windows要使用需要下载。下载地址为:
https://eternallybored.org/misc/wget/
如果出现报错缺少libwinpthread-1.dll 文件,下载地址:
https://www.zhaodll.com/dll/softdown.asp?iz2=711ec381e610491cac40047262530aeb&softid=333005
wget.exe下载好之后放到C:\Windows\System32
里即可,就不用另外配置系统变量了。
整站爬取百度www.baidu.com
wget -r wwww.baidu.com
0x19 reg 操作注册表命令
注册表结构:
- 子树
- 项
- 值
使用reg query
查询指定路径的数据
reg query HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
往HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
中添加值
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v test /t REG_SZ /d test /f
# 名称: test,类型: REG_SZ,数据: test
删除该值
reg delelte HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v test
导出为1.reg
reg export HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run c:\1.reg
将1.reg
导入
reg import c:\1.reg
0x20 netstat网络管理命令
netstat -ano
状态一般有三种
- listening:正在监听
- established:连接已经建立
- 超时
端口占用处理
查看占用49411端口的进程
C:\Users\Administrator>netstat -ano |findstr 49411TCP 0.0.0.0:49411 0.0.0.0:0 LISTENING 1472TCP [::]:49411 [::]:0 LISTENING 1472
进程pid为1472,可以在任务管理器中杀掉它
也可以使用命令杀掉它
taskkill /im Spoolsv.exe /f # /im 参数指定进程名 /f为强制终止
taskkill /pid 1472 /f # /pid 参数指定进程pid
0x21 net命令
一、net user 常用命令
二、net share
查看共享
C:\Users\Administrator>net share共享名 资源 注解-------------------------------------------------------------------------------
C$ C:\ 默认共享
IPC$ 远程 IPC
ADMIN$ C:\Windows 远程管理
命令成功完成。
共享c盘
net share c=C:\
取消共享
net share c /del
查看特点主机共享
net view \\主机名
三、服务管理
查看服务
services.msc
开启服务
net start 服务
关闭服务
net stop
0x22 netsh网络配置命令行工具
netsh(Network Shell) 是一个windows系统本身提供的功能强大的网络配置命令行工具,可以用来修改windows的ip、网关、dns等信息。
用法:
netsh
int ip
dump
备份网络配置
netsh dump > 路径
设置静态ip
set address name="Ethernet0" source=static addr=192.168.43.4 mask=255.255.255.0
设置网关
set address name="Ethernet0" gateway=192.168.43.2 gwmetric=1
注:这里的name为适配器名字,如下图所示
设置动态ip
set address name="Ethernet0" source="dhcp"
CMD/DOS学习笔记相关推荐
- cmd进阶学习笔记(原创进阶)
目录 cmd命令学习 内部命令和外部命令 cmd变量 自定义窗口 cmd基本命令 ping命令判断网络故障 goto命令 start命令 call命令 sort命令 cmd重定向 shutdow命令 ...
- window的dos命令学习笔记 七
文章目录 一.dos历史学习笔记(后期整合到这里,我想能学到这里的应该不多了,嘿嘿,加油) 二.执行状态返回值(`%errorlevel%`,和shell中`$?`相似): 三.视窗 1.color ...
- window的dos命令学习笔记 一
文章目录 说明: 1.学习dos命令的起源: 统统删除bat脚本 一.dos历史学习笔记(后期整合到这里,嘿嘿,加油) 一.一些常用的批处理命令: 0.学习小技巧: 1.什么是批处理 2.echo ( ...
- Java0基础学习笔记、心得-day01(Java入门需知、Java入门概述、Java语言相关知识、JDK与JRE关系,常用DOS命令、JDK的下载安装与HelloWorld案例实现与常见问题。)
一.Java入门需知 * 1.你为什么要学习编程?--兴趣.职业.薪资? * 2.具体Java开发岗位薪资可以参考-智联招聘 前程无忧 BOSS直聘等APP * 3.如何进入IT行业:前端工程师 ...
- [python教程入门学习]python学习笔记(CMD执行文件并传入参数)
本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...
- vue学习笔记(四)- cmd无法识别vue命令解决方法
vue学习笔记(四)- cmd无法识别vue命令解决方法 参考文章: (1)vue学习笔记(四)- cmd无法识别vue命令解决方法 (2)https://www.cnblogs.com/suRimn ...
- CososJS学习笔记(1) 环境配置(填坑版,让你少走弯路!)
这段时间比较了国外的phaser.pixi.create等h5游戏框架以及国内的egret.cocosjs之后,最后还是决定使用cocosjs进行h5游戏的开发. 先简单地说一下个人的观点:首先pix ...
- main 函数解析(二)—— Linux-0.11 学习笔记(六)
main函数解析(二)--Linux-0.11 学习笔记(六) 4.6 blk_dev_init函数 void blk_dev_init(void) {int i;for (i=0 ; i<NR ...
- 一个.NET Core开发者的Linux入门学习笔记
用.NET Core开发也有一段时间了,但是由于工作原因一直都是在Windows系统上进行的开发,一直想学习Linux然后把.NET Core开发的程序跑在Linux上,然后把心得体会记录一下发布再博 ...
最新文章
- Centos调出图形化的网络管理
- 数据结构 排序和查找
- LeetCode - Palindrome Number
- AI:2020年6月22日北京智源大会演讲分享之10:40-11:10Daniel教授《 可微分的加权有限状态机及其机器学习应用》、11:10何晓冬教授《启动“智源-京东”任务导向多模态对话大赛》
- 如何形成欧姆接触_Y5T307 半导体激光器欧姆接触,以及欧姆接触与肖特基接触的区别...
- bert本质理解记录一
- oracle 12 问题:需要 Oracle 客户端软件 8.1.7 或更高版本
- MySQL 中存储时间的最佳实践
- 58岁博导为88岁老母跳舞,“母亲眼里我永远是个孩子”
- hibernate集合类型映射
- mysql错误Table ‘./mysql/proc’ is marked as crashed and should be repaired
- 10个提升职场人气de小方法
- flash mx拖拽实例_适用于Flash MX 2004 Professional的虹膜和擦除过渡面板
- 【Excel,遗忘密码后如何撤销工作表保护密码】
- 百度表格识别——原理解读
- Android方法耗时监控工具
- C++学习笔记4:编程练习一
- 涉密计算机外送维修,涉密计算机及涉密介质维修
- 什么是SPU和SKU
- 5GNR漫谈12:PRACH随机接入信道(2)