文章目录

  • 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学习笔记相关推荐

  1. cmd进阶学习笔记(原创进阶)

    目录 cmd命令学习 内部命令和外部命令 cmd变量 自定义窗口 cmd基本命令 ping命令判断网络故障 goto命令 start命令 call命令 sort命令 cmd重定向 shutdow命令 ...

  2. window的dos命令学习笔记 七

    文章目录 一.dos历史学习笔记(后期整合到这里,我想能学到这里的应该不多了,嘿嘿,加油) 二.执行状态返回值(`%errorlevel%`,和shell中`$?`相似): 三.视窗 1.color ...

  3. window的dos命令学习笔记 一

    文章目录 说明: 1.学习dos命令的起源: 统统删除bat脚本 一.dos历史学习笔记(后期整合到这里,嘿嘿,加油) 一.一些常用的批处理命令: 0.学习小技巧: 1.什么是批处理 2.echo ( ...

  4. Java0基础学习笔记、心得-day01(Java入门需知、Java入门概述、Java语言相关知识、JDK与JRE关系,常用DOS命令、JDK的下载安装与HelloWorld案例实现与常见问题。)

    一.Java入门需知  * 1.你为什么要学习编程?--兴趣.职业.薪资?  * 2.具体Java开发岗位薪资可以参考-智联招聘 前程无忧 BOSS直聘等APP  * 3.如何进入IT行业:前端工程师 ...

  5. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  6. vue学习笔记(四)- cmd无法识别vue命令解决方法

    vue学习笔记(四)- cmd无法识别vue命令解决方法 参考文章: (1)vue学习笔记(四)- cmd无法识别vue命令解决方法 (2)https://www.cnblogs.com/suRimn ...

  7. CososJS学习笔记(1) 环境配置(填坑版,让你少走弯路!)

    这段时间比较了国外的phaser.pixi.create等h5游戏框架以及国内的egret.cocosjs之后,最后还是决定使用cocosjs进行h5游戏的开发. 先简单地说一下个人的观点:首先pix ...

  8. 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 ...

  9. 一个.NET Core开发者的Linux入门学习笔记

    用.NET Core开发也有一段时间了,但是由于工作原因一直都是在Windows系统上进行的开发,一直想学习Linux然后把.NET Core开发的程序跑在Linux上,然后把心得体会记录一下发布再博 ...

最新文章

  1. Centos调出图形化的网络管理
  2. 数据结构 排序和查找
  3. LeetCode - Palindrome Number
  4. AI:2020年6月22日北京智源大会演讲分享之10:40-11:10Daniel教授《 可微分的加权有限状态机及其机器学习应用》、11:10何晓冬教授《启动“智源-京东”任务导向多模态对话大赛》
  5. 如何形成欧姆接触_Y5T307 半导体激光器欧姆接触,以及欧姆接触与肖特基接触的区别...
  6. bert本质理解记录一
  7. oracle 12 问题:需要 Oracle 客户端软件 8.1.7 或更高版本
  8. MySQL 中存储时间的最佳实践
  9. 58岁博导为88岁老母跳舞,“母亲眼里我永远是个孩子”
  10. hibernate集合类型映射
  11. mysql错误Table ‘./mysql/proc’ is marked as crashed and should be repaired
  12. 10个提升职场人气de小方法
  13. flash mx拖拽实例_适用于Flash MX 2004 Professional的虹膜和擦除过渡面板
  14. 【Excel,遗忘密码后如何撤销工作表保护密码】
  15. 百度表格识别——原理解读
  16. Android方法耗时监控工具
  17. C++学习笔记4:编程练习一
  18. 涉密计算机外送维修,涉密计算机及涉密介质维修
  19. 什么是SPU和SKU
  20. 5GNR漫谈12:PRACH随机接入信道(2)

热门文章

  1. 网络同步时钟系统_NTP时间服务器
  2. 生成艺术or游戏?无限可能的体验#Wayfinder-探索这片土地的诗意
  3. Google Earth Engine(GEE)——海洋总测深图数据集(GEBCO)
  4. java大数据量调优(超赞值得收藏)
  5. 关于iPhone出现白苹果黑屏现象的修复方法
  6. 几种重要的工业现场总线的对比分析
  7. 知识图谱介绍-我的学习笔记
  8. 1646 获取生成数组中的最大值
  9. 人工智能----知识与知识表示
  10. FinalShell密码找回/FinalShell密码破解