148.【Windows DOS命令脚本文件】
Window待处理脚本
- (一)、批处理编程初步体验
- 1.什么是批处理程序?
- (1).批处理程序的定义
- (2).如何编辑批处理程序
- 2.批处理程序可以做什么?
- (1).匹配规则删除文件
- (2).新建文件,日志等
- (3).创建计算机病毒等
- 3.一个基本的批处理文件
- (1).带盘符的输出->HelloWorld
- (2).不带盘符的输出->HelloWorld
- 4.命令分类
- (1).内部命令
- (2).外部命令
- (二)、批处理运算操作
- 1.算术运算
- (1).命令模式
- (2).文本模式
- 2.重定向运算
- (1).什么是重定向运算?
- (2).五大重定向运算符
- (3). 查看指定文件的内容
- (4).文件和文件之间的传输
- 3.多命令运算
- (1).什么是多命令运算?
- (2).两种多命令运算符
- 4.管道操作运算符
- (1).什么是管道运算符
- (三)、批处理基本命令
- 1.命令帮助
- (1).第一种命令帮助查询 (net)
- (2).第二种命令帮助查询 (xxx /?)
- (3).第三种命令详细帮助信息 (xxx /help)
- 2.批处理文件参数传递
- (1).什么是批处理文件参数传递
- (2).批处理演示示列 (%num)
- 3.注释符扩展
- (1).为什么需要注释符?
- (2).注释符 (rem)
- 4.炫酷命令提示符
- (1).为什么要使用炫酷命令提示符
- (2).背景颜色命令 (color)
- (3).标题的命令(title)
- 5.时间相关命令
- (1).为什么需要使用时间命令?
- (2).日期命令 (date)
- (3).时间命令 (tme)
- 6.启动命令
- (1).启动一个新的cmd窗口
- (2).启动一个新的cmd窗口并命名
- (3).启动一个新的脚本或则程序
- (4).启动一个脚本程序但不新建一个cmd窗口
- 7.调用其他的bat文件
- (1).同目录下调用不同bat文件
- 8.任务列表查看命令
- (1).任务列表
- 9.任务关闭命令
- (1).关闭指定进程
- 10.文件夹结构查看命令
- (1).对当前目录进行树级目录
- 11.关机命令
- (1).使用可视化界面关闭远程主机的电脑
- (2).关闭本机电脑
- 12.计划任务命令
- (1).at 命令已经在win 10 被弃用
- 13.批量处理环境变量
- (1).修改我们系统的环境
- (四)、文件夹
- 1.目录浏览
- (1).查看当前目录
- (2).当前目录帮助
- 2.目录新建或删除
- (1).创建文件
- (2).递归创建我们的文件夹
- (3).删除文件
- 3.目录切换命令
- (1).切换命令
- 4.目录重命名
- (1)修改项目名
- 5.目录复制
- (1).复制整个文件夹 (以及子文件)
- (2).单独复制一个文件 (txt)
- 6.文件删除
- (1).文件删除 (del)
- (2).删除所有以txt结尾的文件
- 7.文件剪切命令
- (1).文件剪切命令
- (五)、网络相关命令
- 1.用户命令
- (1).用户操作命令
- 2.用户组操作命令
- 2.主机连通性检测
- (1).帮助命令
- (2).联通外部网站
- 3.网络连接命令
- (1).打开telnet功能
- (2).查看我们的telnet命令
- (3).连接我们自己本地的服务器
- 4.网络路由信息命令
- (1).tracert 帮助命令
- (2).查看一下本机电脑的
- 5.网络适配器
- (1).查看我们的ipconfig适配器
- (2).释放我们本机的ip地址
- (3).重新获取我们本地的ip地址
- 6.ARP信息命令
- (1).认识ARP命令
- (2).查看我们的arp表
- (六)、条件判断结构
- 1.if-else
- (1).简单用列
- 2.文件存在案列
- (1).简单案列
- 3.文件判断删除
- (1).简单案列
- (七)、循环结构
- 1.循环遍历文件夹
- (1).遍历当前脚本所在的文件夹目录
- (2).遍历指定文件夹
- (3).遍历指定文件夹并输入到txt文件中
- (4).循环遍历删除文件
- 2.遍历目录及子目录下文件
- (1).简单案列
- 3.遍历数字
- 简单案列
- (2).连续ping组合使用
- 4.遍历文件内容
- (1).遍历出我们每一行的内容
- (2).判断是否为指定的内容
- (八)、Virus脚本分析
- 1.目录新建代码分析
- (1).循环创建我们的目录
- (九)、编程信息示列
- 1.计算机信息展示
- 2.交互操作
- 3.计划执行
- 4.批处理文件转exe文件
(一)、批处理编程初步体验
简单来说,批处理程序就是 Windows 自带的脚本,可以在 cmd | powershell 中直接运行,若写成文件,后缀为 .bat
小知识
cmd与powershel不区分大小写- 命令行的运算操作,类似于
PHP - DOS 是磁盘操作系统;命令提示符是 DOS 系统的界面中输入 DOS 命令的提示位置;cmd 是系统运行其自带 DOS 的命令;cmd.exe 是一个 16 位的 DOS 应用程序
- PID 是 processid(进程号);IM 是 imaginename(映像名称)
- 在 .bat 文件开头加上 @echo off 代表不输出描述,比如 C:\Users\14805\desktop>… 这样的描述不会输出,直接输出结果
- 设置变量 set a=10,输出变量 echo %a%,设置变量表达式 set /a b=%a%+1
1.什么是批处理程序?
(1).批处理程序的定义
BAT编程,即批处理编程,是一种基于Windows操作系统的脚本编程语言。它使用文本文件作为脚本,通过一系列的命令和控制语句来执行特定的任务。BAT编程主要用于自动化重复性的任务,提高计算机的效率和便利性。本文将为您介绍BAT编程的基础知识,并引导您编写简单的批处理脚本。
bat处理文件使用cmd、exe执行。

(2).如何编辑批处理程序
- 可以使用任意的文本编辑器
notepad: window自带的文本编辑器,然后我们需要将文件后缀改成.bat即可

2.批处理程序可以做什么?
使用一系列的内置命令进行自动化操作
(1).匹配规则删除文件
(2).新建文件,日志等
(3).创建计算机病毒等
3.一个基本的批处理文件
(1).带盘符的输出->HelloWorld
- 第一步使用window+R然后输入cmd。
echo "hello world"

(2).不带盘符的输出->HelloWorld
// 1.开启window批处理文件
@echo off
// 2.输出
echo "hello world"
// 3.结束批处理文件
pause

4.命令分类
(1).内部命令
window自带的命令大全
https://www.cnblogs.com/klchang/p/4771101.html
常用小工具
| 工具名称 | cmd命令 |
|---|---|
| 计算器 | calc |
| 记事本 | notepad |
| 写字板 | write |
| 画图 | mspaint |
| 放大镜 | magnify |
| 屏幕键盘 | osk |
| 字符映射表 | charmap |
| 专用字符编辑程序 | eudcedit |
| 远程桌面连接 | mstsc |
| 音量合成器-扬声器 | sndvol |
常用管理工具
| 工具名称 | cmd 命令 |
|---|---|
| 任务管理器 | taskmgr |
| 资源监视器 | perfmon.msc |
| 查看Window版本 | winver |
| 资源管理器 | explorer |
| 计算机管理 | compmgmt.msc |
| 设备管理器 | devmgmt.msc |
| 事件查看器 | eventvwr.msc |
| 磁盘管理 | diskmgmt.msc |
| 组件管理 | dcomcnfg |
| 本地安全策略 | secpol.msc |
| 本地组策略管理器 | gpedit.msc |
| 组策略结果集 | rsop.msc |
| 本地用户和组 | lusrmgr.msc |
| 本地服务 | services.msc |
| 注册表编辑器 | regedit |
| 打开注册表编辑器 | regedt32 |
| 系统配置实用工具 | msconfig |
| DirectX 诊断工具 | dxdiag |
| Microsoft 控制台 | mmc |
| WMI控件 | wmimgmt.msc |
(2).外部命令
(二)、批处理运算操作
1.算术运算
(1).命令模式
/a: 表示这是一个运算命令。
// 执行加法
set /a 1+3
// 执行减法
set /a 3-1
// 执行除法
set /a 4/2
// 执行取模
set /a 5%2

(2).文本模式
输出变量的时候没有使用 %%引注
@echo off
// 1.使用var变量,进行接受值
set /a var = 1+2
// 2.直接输出var,并不会是3
echo varpause

输出变量的时候使用%%引注
@echo off
// 1.使用var变量,进行接受值
set /a var = 1+2
// 2.直接输出3
echo %var%pause

2.重定向运算
(1).什么是重定向运算?
重定向运算: 默认情况下,Powershell 把输出发送到屏幕显示。但是,Powershell也可以将输出重定向至一个文本文件,或将错误输出重定向至常规输出流。 重定向运算符意味着我们可以将命令的输出信息输出到指定的文件,完全满足脚本中的log的要求,即可以利用重定向打印脚本或命令执行的详细信息。
(2).五大重定向运算符
第一种: >
输出文件到指定文件: (会产生覆盖)
PS D:\> Get-Process > process.txt
第二种: >>
将输出追加到指定的文件: (不会覆盖,追加)
PS D:\> dir *.txt >> process.txt

第三种: 2>
将输出中的错误发送到指定的文件。(会产生覆盖)
PS D:\> Get-Process none 2> errors.txt
第四种: 2>>
将输出中的错误追加到指定的文件。该运算符是在实际使用中使用频率最高的重定向运算符。(非覆盖,追加)
PS D:\> Get-Process none,powershell 2>> .\errore.txt
第五种: 2>&1
将错误发送到成功输出流。这个需要注意,命令执行成功的信息会显示,但是错误的信息并不会显示。
PS D:\> Get-Process none,powershell 2>$1
(3). 查看指定文件的内容
type 文件:查看指定文件的内容

(4).文件和文件之间的传输
文件 >:表示将对应的右边的内容输出到左边,(会产生覆盖)文件 >>:表示将对应的右边的内容输出到左边,(不会产生覆盖,表示追加)
3.多命令运算
(1).什么是多命令运算?
多命令运算就是: 多个命令一起运算。
(2).两种多命令运算符
&&短路
&&: 具有短路,第一个命令错误,那么就不会执行第二个命令
// 前面执行失败,后面的就不会执行
aaa && ipconfig// 前面执行成功,后面的才会继续执行
ipconfig && net user

||断路
第一个命令执行成功,第二个就不会被执行;加入第一个命令执行失败,那么第二个才会被执行。

4.管道操作运算符
(1).什么是管道运算符
管道运算符: A | B A命令的输出结果会当作B的输入。
场景一: 对文件进行过滤
// 1.查看当前文件夹都有什么文件
dir
// 2.将dir查询的结果当作查找文件输入的文件进行查找
dir | find ".txt"

场景二:
// 1.显示全部的网络链接
netstat -an// 2.筛选出当前主机和外部的连接
netstat -an | find "ESTABLISHED"

(三)、批处理基本命令
基本格式:
命令 子命令 参数 操作 选项
1.命令帮助
(1).第一种命令帮助查询 (net)
当且仅有一个命令的时候,可以使用
net
(2).第二种命令帮助查询 (xxx /?)
net /?

(3).第三种命令详细帮助信息 (xxx /help)
net user /help

2.批处理文件参数传递
(1).什么是批处理文件参数传递
批处理文件参数传递: 就是动态的向bat文件中进行传递我们的参数。
基本格式: .bat文件接受参数使用 %num
(2).批处理演示示列 (%num)
创建一个批处理文件 a.bat 内容如下
注意事项: (一定要使用数字进行介绍,而且1代表接受第一个传递过来的参数,2代表接受第二个传递过来的参数。与我们的顺序无关)
- 这里的
%1是接受第一个参数 。 - 这里的
%2是接受第二个参数。
@echo offecho %1
echo %2pause

@echo offecho %2
echo %1pause

3.注释符扩展
(1).为什么需要注释符?
随着时间的推移,我们的记忆力可能会变得越来越差,所以我们需要使用注释的操作,然后对其进行标注。
- 标注格式:
rem xxxxxxx就是我们注解的内容
(2).注释符 (rem)
@echo offrem 这里是我们的传递参数,分别传递两个参数。echo %2
echo %1

4.炫酷命令提示符
(1).为什么要使用炫酷命令提示符
因为正常情况下我们的命令和文本都是白色的,那么我们应该怎么办呢? 我们这个时候就需要使用我们的 颜色命令 。
(2).背景颜色命令 (color)
修改命令颜色的格式:
color 背景色/字体颜色

temp 背景颜色为黑色,字体颜色为蓝色color 01

(3).标题的命令(title)
修改命令的标题:
title "xxx"

5.时间相关命令
(1).为什么需要使用时间命令?
通常使用在创建我们的日志的时候,我们是需要进行打印我们的时间的。
(2).日期命令 (date)
date

rem 查看年/月/日 星期date /Trem 修改时间 (需要拥有权限)date
(3).时间命令 (tme)

rem 展示我们的时间time /Trem 修改我们时间time
6.启动命令

(1).启动一个新的cmd窗口
start

(2).启动一个新的cmd窗口并命名
start "myCmd"

(3).启动一个新的脚本或则程序
start 1.bat

(4).启动一个脚本程序但不新建一个cmd窗口
start /B 1.bat

7.调用其他的bat文件
(1).同目录下调用不同bat文件
1.bat脚本文件
dircall 2.batpause
2.bat脚本文件
echo "hello world i'm is 2.bat"pause;

注意: 当我们使用 call 调用一个新的脚本文件的时候,我们不能对其传入我们新的数据。
8.任务列表查看命令
tasklist: 主要用来显示在本地或远程机器上当前运行的进程列表。
(1).任务列表
tasklist

9.任务关闭命令
使用该工具按照进程 ID (PID) 或 映像名称终止任务。
(1).关闭指定进程
taskkill /pid 27344 /t

10.文件夹结构查看命令
我们可以使用文件夹结构查看命令进行对我们指定的文件夹进行树形结构操作。
(1).对当前目录进行树级目录
tree

11.关机命令
(1).使用可视化界面关闭远程主机的电脑
切记: 首先要打开防火墙。其次:要在同一个局域网下
shutdown /i

(2).关闭本机电脑
30秒后关闭自己的电脑
shutdown /s /t 30
12.计划任务命令
每天固定执行某一个 exe 程序
(1).at 命令已经在win 10 被弃用

13.批量处理环境变量
(1).修改我们系统的环境
查看我们的环境
set

输出我们OS变量的内容
echo %OS%

(四)、文件夹
1.目录浏览
(1).查看当前目录
1.使用dir命令我们可以查看当前文件夹下的信息
dir

(2).当前目录帮助

2.目录新建或删除
(1).创建文件
mkdir test

(2).递归创建我们的文件夹
mdkir /a/b/c/d/e

(3).删除文件
rmdir a

3.目录切换命令
(1).切换命令
cd /xxx
4.目录重命名
(1)修改项目名
ren test test1

5.目录复制
(1).复制整个文件夹 (以及子文件)
复制整个文件夹、但是里面的文件不会复制
copy a1 a2

(2).单独复制一个文件 (txt)
copy 2.txt 3.txt

6.文件删除
(1).文件删除 (del)
del 3.txt

(2).删除所有以txt结尾的文件
del *.txt

7.文件剪切命令
(1).文件剪切命令
move b e:\

(五)、网络相关命令
1.用户命令
(1).用户操作命令
1.可以查看我们当前电脑的用户
net user

2.查看指定用户的信息
net user 22612

3.添加用户
net user lwt 123456 /add

4.删除用户
net user lwt /delete

2.用户组操作命令
1.查看本地用户组
net localgroup

2.查看指定用户所在的组
net user 22612

3.将已经存在的用户添加到指定用户组中..
net localgroup 用户组 被添加的用户名 /add


3.删除用户组中指定的用户名
net localgroup 用户组 被删除的用户名 /delete

2.主机连通性检测
(1).帮助命令

(2).联通外部网站
ping www.baidu.com

3.网络连接命令
(1).打开telnet功能
win10的telnet默认是关闭的,我们需要进行手动打开

(2).查看我们的telnet命令
telent /?

(3).连接我们自己本地的服务器
telnet 8.130.48.9 80

4.网络路由信息命令
判断我们本地主机和目标主机 经历了多少个网络设备、网络路由才进行联通的。
(1).tracert 帮助命令

(2).查看一下本机电脑的
tracert 8.130.48.9
我们发现我们需要经历 13 跳 才能进行访问到网址

5.网络适配器
(1).查看我们的ipconfig适配器

(2).释放我们本机的ip地址
ipconfig /release
相当于断开本机的网络

(3).重新获取我们本地的ip地址
相当于重连我们本地的网络
ipconfig /renew WLAN*

6.ARP信息命令
(1).认识ARP命令

(2).查看我们的arp表
arp -a

(六)、条件判断结构
1.if-else
(1).简单用列
@echo rem 演示if-else结构代码 判断字符串是否为规定的字符串。rem 设置一个字符串变量为 hello , 在bat脚本中变量会自动识别变量的类型set v=hellorem 假如变量v等于hello的话if %v%==hello (echo ok) else (echo no)pause

2.文件存在案列
(1).简单案列
@echo offrem 程序用来判断1.bat是否存在 existsif exist E:\思维导图\1.bat (echo yes) else (echo no)pause

3.文件判断删除
(1).简单案列
@echo offrem 程序用来判断1.bat是否存在 existsif exist E:\思维导图\1.txt (echo 文件被找到,即将执行删除del E:\思维导图\1.txt
) else (echo 文件未找到!!!
)pause
注意:
- 判断语句中最后一行是左括号,就可以进行分行操作。
- 判断语句中不能进行内嵌判断语句。
(七)、循环结构
1.循环遍历文件夹
(1).遍历当前脚本所在的文件夹目录
1.遍历与当前脚本同级目录的所有文件夹名
- /d 表示文件夹
- (*) 表示遍历当前文件夹
@echo offrem 遍历文件夹 /d 表示文件夹 遍历的文件夹名放到变量a for /d %%a in (*) do echo %%apause

(2).遍历指定文件夹
@echo offrem 遍历文件夹 /d 表示文件夹 遍历的文件夹名放到变量a for /d %%c in (E:\*) do echo %%cpause

(3).遍历指定文件夹并输入到txt文件中
@echo offrem 遍历文件夹 /d 表示文件夹 遍历的文件夹名放到变量a for /d %%c in (E:\*) do echo %%c >> a.txtpause

(4).循环遍历删除文件
@echo offrem 遍历文件夹 /d 表示文件夹 遍历的文件夹名放到变量a for /d %%c in (*) do if %%c == b (rmdir %%c)for /d %%c in (*) do echo %%cpause

2.遍历目录及子目录下文件
(1).简单案列
for /r '目录路径' %%c in (匹配规则 *.txt) do 执行操作 %%c
@echo offrem 遍历文件夹 /r 表示文件 遍历的文件夹名放到变量cfor /r E:\思维导图 %%c in (*.bat) do echo %%cpause

3.遍历数字
简单案列
- %L 表示我们是一个数字内容
@echo offrem for循环我们的数字内容。 初始化为1,步长为1,最终为20for /L %%v in (1,1,20) do echo %%vpause

(2).连续ping组合使用
- %1 是我们接受的第一个参数
@echo offrem for循环我们的数字内容。 初始化为1,步长为1,最终为20for /L %%v in (1,1,20) do ping %1.%%vpause
192.168.0.1我们的局域网的操作,也就是说我们最后一个数字是变换的。

4.遍历文件内容
(1).遍历出我们每一行的内容
@echo offrem for 文件内容。 /F 表示一个文件, 遍历出每一行的内容for /F %%v in (E:\思维导图\a.txt) do echo %%vpause

(2).判断是否为指定的内容
@echo offrem for 文件内容。 /F 表示一个文件, 假如内容为 E:\Shiro 那么我们就执行输出的操作for /F %%v in (E:\思维导图\a.txt) do if %%v == E:\Shiro (echo %%v)pause

(八)、Virus脚本分析
1.目录新建代码分析
(1).循环创建我们的目录
- loop 只是一个标签,我们可以随时进行改变
@echo offrem 进入到我们的文件夹cd E:\思维导图rem 循环创建test文件夹,并进入文件夹再创建:loop
md test
cd test
goto looppause

(九)、编程信息示列
1.计算机信息展示
@echo offrem 输出内容并覆盖
echo . > log.txt
echo Log File >> log.txt
echo . >> log.txt
rem 获取我们本机的用户名
echo User : %username% >> log.txt
rem 输出日期、时间
Date /t >> log.txt
Time /t >> log.txt
echo . >> log.txt
echo Process Ran by %username% >> log.txt
echo . >> log.txt
rem 任务列表输出到日志文件中
tasklist >> log.txt
echo . >> log.txt
echo Network Activities >> log.txt
rem 网络状态信息输出
netstat -s >> log.txt
pause

2.交互操作
类似于我们经常用的switch语句
@echo offecho 1.a
echo 2.b
echo 3.c
echo 4.drem 创建一个类似于 switch 的语句
:first
echo 请输入您的选择 (1,2,3,4)rem /p 表示我们从控制台接受一个参数,创建一个变量 opt
set /p opt=
if %opt% == 1 goto one
if %opt% == 2 goto two
if %opt% == 3 goto three
if %opt% == 4 goto four
goto firstrem 设置四种条件,然后其中的执行结果如下
:one
echo 你选择了one
pause:two
echo 你选择了two
pause:three
echo 你选择了three
pause:four
echo 你选择了four
pausepause

3.计划执行
schtasks 命令
4.批处理文件转exe文件
相关文章:
148.【Windows DOS命令脚本文件】
Window待处理脚本 (一)、批处理编程初步体验1.什么是批处理程序?(1).批处理程序的定义(2).如何编辑批处理程序 2.批处理程序可以做什么?(1).匹配规则删除文件(2).新建文件,日志等(3).创建计算机病毒等 3.一个基本的批处理文件(1).带盘符的输出…...
推荐网站(13)plantumlb自动帮我们创建 UML 图表
今天推荐一个网站plantumlb,它可以自动帮我们创建 UML 图表。 plantumlb网站中的PlantUML是一个开源工具,它允许用户使用简单的文本描述来创建UML(统一建模语言)图表。PlantUML支持多种类型的UML图表,包括用例图、类图…...
【vue-1】vue入门—创建一个vue应用
最近在闲暇时间想学习一下前端框架vue,主要参考以下两个学习资料。 官网 快速上手 | Vue.js b站学习视频 2.创建一个Vue3应用_哔哩哔哩_bilibili 一、创建一个vue3应用 <!DOCTYPE html> <html lang"en"> <head><meta charset&q…...
【微信小程序开发】小程序前后端交互--发送网络请求实战解析
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
【NOIP2013普及组复赛】题2:表达式求值
题2:表达式求值 【题目描述】 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。 【输入文件】 输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符 “ ” “” “”和乘法运算符 “ ∗ ” “…...
datasheet芯片数据手册—新手入门学习(二)【8-18】
参考芯片手册已经上传,可自行下载 因为芯片参考手册内容比较多,故再一次介绍本文内容主要讲解章节。 目录 8、内容介绍 命令真值表 9、Command Definitions 10、READ Operations (1)页面读取操作 (2ÿ…...
UE5 双手握剑的实现(逆向运动学IK)
UE5 双手握剑的实现 IK 前言 什么是IK? UE官方给我们提供了很多对于IK处理的节点,比如ABRIK、Two Bone IK、Full Body IK 、CCD IK等,但是看到这,很多人就好奇了,什么是IK? 首先我们来看看虚幻小白人的骨…...
Java中的接口(Interface)及其与抽象类的区别
一、技术难点 在Java中,接口是一种完全抽象的类,主要用于定义一组方法的规范,但不提供具体的实现。接口的技术难点主要体现在以下几个方面: 方法的定义与实现分离:接口只定义了方法的签名,没有方法体&…...
代码随想录算法训练营第十四天(py)| 二叉树 | 递归遍历、迭代遍历、统一迭代
1 理论基础 1.1 二叉树的种类 满二叉树 只有度为0和2的节点,且度为0的节点在同一层。 深度为k,有2^k-1个节点 完全二叉树 除了最底层可能没填满,其余每层节点数都达到最大。并且最底层节点全部集中在左边。 二叉搜索树 是一个有数值…...
Golang并发编程-协程goroutine初体验
文章目录 前言一、Goroutine适合的使用场景二、Goroutine的使用1. 协程初体验 三、WaitGroupWaitGroup 案例一WaitGroup 案例二 总结 前言 学习Golang一段时间了,一直没有使用过goroutine来提高程序执行效率,在一些特殊场景下,还是有必须开启…...
驱动与系统学习网址
DRM(Direct Rendering Manager)学习简介-CSDN博客 Android Qcom Display学习(零)-CSDN博客 https://blog.csdn.net/hexiaolong2009/category_9705063.htmlhttps://blog.csdn.net/hexiaolong2009/category_9705063.htmlRender Hell —— 史上最通俗易懂…...
OAuth2.0
OAuth2.0 OAuth2.0是一种授权框架,用于授权第三方应用访问用户资源的方式。它允许用户将自己的信息(如照片、视频等)存储在一个服务提供商中,然后授权第三方应用访问这些信息,而无需提供用户名和密码给第三方应用。OAu…...
测试testing10
测试testing10...
在Java中实现泛型(Generics)的深入解析
在Java中,泛型(Generics)是一个强大的工具,它允许我们在编译时定义类型参数,使代码更加灵活、可重用和类型安全。下面,我将从技术难点、面试官关注点、回答吸引力以及代码举例四个方面,详细解析…...
每周题解:繁忙的都市
题目链接 繁忙的都市 题目描述 城市 C 是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市 C 的道路是这样分布的:城市中有 n n n 个交叉路口,有些交叉路口之间有道路相连,两…...
linux之防火墙工具
netfilter Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中。 Netfilter在内核中选取五个位置放了五个hook(勾子) function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING),而这五个hook function向用户…...
【Python】—— 高阶函数
目录 (一)体验高阶函数 (二)内置高阶函数 2.1 map() 2.2 reduce() 2.3 filter() Python中的高阶函数是指那些接受函数作为参数,或者返回函数作为结果的函数。这种特性让Python的函数编程能力非常强大&…...
逻辑分析仪 - 采样率/采样深度
采样深度(Sampling Depth) 采样深度指的是逻辑分析仪在一次捕获过程中可以记录的最大样本数量。简单来说,采样深度越大,逻辑分析仪可以记录的数据量就越多。这对于分析长时间的信号变化或复杂的信号序列非常重要。 采样率&#…...
【Maven打包将resources/lib/下的jar也打包进jar包中】
Maven打包将resources/lib/下的jar也打包进jar包中 !!!少走弯路 第一步 resources/lib/下引入jar ftp4j-1.7.2.jar替换为自己jar包的名称 <dependency><groupId>it.sauronsoftware.ftp4j</groupId><artifactId>ft…...
基于Java的地震震中附近城市分析实战
目录 前言 一、空间数据说明 1、空间查询 二、Java后台开发 1、模型层设计与实现 2、控制层设计与实现 三、Leaflet地图开发 1、地震震中位置展示 2、附近城市展示 3、成果展示 总结 前言 随着全球气候变化和地壳活动的不断演变,地震作为一种自然灾害&…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
