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

D:\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=57

36.152.44.95 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 8ms,最长 = 10ms,平均 = 9ms

2、追加>>

D:\desktop\flask>echo 这是追加的信息233333333333333333333333333 >>1.txt

D:\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=57

36.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\dell

C:\Users\DELL>echo %errorlevel%
0

进入正题

符号 名称 作用
| 命令管道符 将第一条命令的结果作为第二条命令的参数来使用
& 组合命令 当第一个命令执行失败了,后面的命令继续执行
&& 组合命令 如果第一个命令失败,后边的命令也不会执行
|| 组合命令 第一条命令执行失败后才执行第二条命令
() 补充(不常用) 代替&
;

例子一:()代替&

@echo off
(
	echo 1
	echo 2
	echo 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 disk

VMware, 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 49411
  TCP    0.0.0.0:49411          0.0.0.0:0              LISTENING       1472
  TCP    [::]: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"
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐