当前位置: 首页 > news >正文

windows系统自定义powshell批处理脚本

windows自定义powshell批处理脚本

前几天看到大神自定义批处理骚操作操作,觉得很有意思,本篇文章记录一下入门学习笔记。

PowerShell 是一种功能强大的脚本语言和命令行外壳,基于.NET Framework,广泛应用于 Windows 系统管理、自动化任务执行、系统配置等领域。

编写powershell脚本首先要找到系统默认寻找的脚本路径

  1. 获取配置路径
echo $PROFILE
#F:\文档\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

在F:\文档中创建WindowsPowerShell目录,再在该目录下创建Microsoft.PowerShell_profile.ps1文件

Microsoft.PowerShell_profile.ps1文件中就可以编写我们的脚本了,每次打开powershell都会加载该文件。

简单上手

#自定义不需要参数的命令
#function 命令 {命令内容}
function hi{Write-Host "hello world"
}
#自定义需要固定参数的命令
function ha(){param([string] $name)echo hello $name
}
#自定义不固定参数的命令
function hb(){echo hello $args
}

输出

在这里插入图片描述

文本编辑器:可以使用系统自带的记事本,也推荐使用专业的代码编辑器,如 Visual Studio Code,其具有丰富的插件支持,可提高 PowerShell 脚本的编写效率。

基本变量

  1. 变量
    • 变量以 $ 符号开头,例如 $name = "John",定义了一个名为 $name 的变量,并赋值为字符串 "John"
    • 变量的数据类型可以自动推断,也可以显式指定,如 [int]$age = 30,将 $age 定义为整数类型。
  2. 数据类型
    • 字符串:使用双引号 " " 或单引号 ' ' 表示,双引号内可以解析变量,单引号内则按字面输出
    • 整数:如 10-5 等。
    • 浮点数:如 3.14-2.5 等。
    • 数组:使用 @() 表示,例如 $arr = @(1, 2, 3, "a", "b")
    • 哈希表:使用 @{} 表示,例如 $hash = @{"key1" = "value1"; "key2" = 2}
  3. 运算符
    • 算术运算符+(加)、-(减)、*(乘)、/(除)、%(取余)。
    • 比较运算符-eq(等于)、-ne(不等于)、-gt(大于)、-lt(小于)、-ge(大于等于)、-le(小于等于)。
    • 逻辑运算符-and(与)、-or(或)、-not(非)。
  4. 语句块:使用 {} 表示语句块,例如在 if 语句、for 循环等结构中。

Write-Host:内置方法,输出一个字符串或变量

控制结构

条件控制

$num = 10
if ($num -gt 5) {Write-Host "数字大于 5"
} elseif ($num -eq 5) {Write-Host "数字等于 5"
} else {Write-Host "数字小于 5"
}

for循环

for ($i = 0; $i -lt 5; $i++) {Write-Host "当前循环次数:$i"
}

foreach循环

$arr = @(1, 2, 3)
foreach ($element in $arr) {Write-Host "数组元素:$element"
}

while循环

$count = 0
while ($count -lt 3) {Write-Host "当前计数:$count"$count++
}

函数

function Add-Numbers {param([int]$num1,[int]$num2)return $num1 + $num2
}
$sum = Add-Numbers -num1 5 -num2 3
Write-Host "两数之和:$sum"

函数参数:使用 param 关键字定义函数参数,参数可以指定数据类型。

文件操作

系统提供函数 Get-Conten -parh url:获取地址为url的文件内容并返回,如果url为"."表示当前所在路径

  1. 读取文件内容
$content = Get-Content -Path "C:\test.txt"
foreach ($line in $content) {Write-Host $line
}
  1. 写入文件内容
$text = "这是要写入文件的内容"
Set-Content -Path "C:\test.txt" -Value $text
  1. 追加内容到文件
$newText = "这是追加的内容"
Add-Content -Path "C:\test.txt" -Value $newText
  1. 重名名文件
#获取单个文件
$file = Get-Item -Path "C:\Users\Admin\Documents\test.txt"
Rename-Item -Path $file.FullName -NewName $newName

错误处理

  1. try-catch-finally 结构
try {# 可能会出错的代码$result = 10 / 0
} catch {Write-Host "发生错误:$($_.Exception.Message)"
} finally {Write-Host "无论是否发生错误,都会执行这里的代码"
}

数字与字符串相加

在 PowerShell 中,字符串和数字相加的结果取决于具体的情况。

字符串在前,数字在后

字符串在加法运算的左侧,数字在右侧时,PowerShell 会将数字转换为字符串,然后将两个字符串拼接起来。

$str = "结果是:"
$num = 10
$result = $str + $num
Write-Host $result
#结果是:10

数字在前,字符串在后

当数字在加法运算的左侧,字符串在右侧时,PowerShell 会尝试将字符串转换为数字,如果转换成功则进行加法运算,如果转换失败则会抛出异常。

$num = 5
$str = "10"
$result = $num + $str
Write-Host $result
#15

运行段代码时,PowerShell 无法将字符串 "abc" 转换为数字,会抛出异常。

$num = 5
$str = "abc"
$result = $num + $str

显式类型转换

为了避免意外的结果,你可以进行显式的类型转换。如果想将结果作为字符串拼接,可以使用 ToString() 方法将数字转换为字符串:

$num = 20
$str = "数值是 "
$result = $str + $num.ToString()
Write-Host $result

如果想将字符串转换为数字进行加法运算,可以使用相应的类型转换方法,例如 [int] 转换为整数:

$str = "25"
$num = 5
$result = [int]$str + $num
Write-Host $result

实战演练

**demo1:**定义一个命令,为当前目录所有指定后缀文件加上指定前缀

场景:批量为文件添加标识

function SetPreName(){param ([string] $preName,[string] $next)$oldName='*'+$next$files = Get-ChildItem -Path . -Filter $oldNameforeach($file in $files){[string]$newName = $preName + $file.NameRename-Item -Path $file.FullName -NewName $newName}
}  

demo2:定义一个命令,为当前目录所有指定后缀的文件批量命名,从001xxx,xxx对应文件数量.

function SetNumberName(){param([string] $next)$oldName='*'+$next$files = Get-ChildItem -Path . -Filter $oldName[int]$cnt=1[string]$newNameforeach($file in $files){if($cnt -gt 99){$newName=$cnt.ToString()+$next}elseif($cnt -gt 9){$newName='0'+$cnt.ToString()+$next}else{$newName='00'+$cnt.ToString()+$next}Rename-Item -Path $file.FullName -NewName $newName$cnt++}
}

相关文章:

windows系统自定义powshell批处理脚本

windows自定义powshell批处理脚本 前几天看到大神自定义批处理骚操作操作,觉得很有意思,本篇文章记录一下入门学习笔记。 PowerShell 是一种功能强大的脚本语言和命令行外壳,基于.NET Framework,广泛应用于 Windows 系统管理、自…...

【计算机视觉】CV实战项目 - 基于YOLOv5与DeepSORT的智能交通监控系统:原理、实战与优化

基于YOLOv5与DeepSORT的智能交通监控系统:原理、实战与优化 一、项目架构与技术解析1.1 核心算法架构1.2 学术基础 二、实战环境配置2.1 硬件要求与系统配置2.2 分步安装指南 三、核心功能实战3.1 基础车辆计数3.2 自定义检测类别3.3 多区域计数配置 四、性能优化技…...

Java基础系列-HashMap源码解析3-红黑树

文章目录 红黑树定义与AVL树对比插入节点插入节点是根节点插入节点的叔叔是红色插入节点的叔叔是黑色 构建示例删除节点只有左子树/只有右子树 只有左孩子/只有右孩子没有孩子如果双黑节点的兄弟是黑色:如果双黑节点的兄弟是红色: 总结 红黑树 定义 与…...

Linux系统的延迟任务及定时任务

延迟任务的发起 在系统中我们可以使用at命令来发起延迟任务 at命令执行是调用的是atd服务,即使系统最小化安装atd也会被安装到系统中 at 任务信息存放在系统中/var/spool/at目录中 at 任务的日志文件被存放到/var/log/cron中 at 任务执行时如果遇到系统处于关闭状态…...

【蓝桥杯】水质检测

水质检测 题目描述 小明需要在一条 2 n 2 \times n 2n 的河床上铺设水质检测器。在他铺设之前,河床上已经存在一些检测器。如果两个检测器上下或者左右相邻,那么这两个检测器就是互相连通的。连通具有传递性,即如果 A A A 和 B B B 连通…...

【晶振】晶振的工作原理及其与单片机关系

晶振(晶体振荡器)是电子设备中常见的元件,其核心功能是提供稳定的时钟信号,而单片机(MCU)依赖这一信号来同步内部操作。以下是晶振的工作原理及其与单片机关系的详细说明: 一、晶振的工作原理 压电效应与谐振 晶振的核心是石英晶体,利用其压电效应: 当在晶体两端施加电…...

配置 C/C++ 语言智能感知(IntelliSense)的 c_cpp_properties.json 文件内容

配置 C/C 语言智能感知(IntelliSense)的 c_cpp_properties.json 文件内容 {"configurations": [{"name": "Linux","includePath": ["${workspaceFolder}/**","/opt/ros/humble/include/**&quo…...

Postgresql源码(143)统计信息基础知识(带实例)

概念与总结 高频值(Most Common Values, MCV)​​ 存储在 most_common_vals 中。每个高频值的频率通过 most_common_freqs 单独记录(例如 0.010966667 等)。​​MCV 用于优化等值查询​​(如 poid 33)&…...

【含文档+PPT+源码】基于SpringBoot+vue的疫苗接种系统的设计与实现

项目介绍 本课程演示的是一款 基于SpringBootvue的疫苗接种系统的设计与实现,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系…...

解决 Dart Sass 的旧 JS API 弃用警告 的详细步骤和解决方案

以下是解决 Dart Sass 的旧 JS API 弃用警告 的详细步骤和解决方案: 错误原因 Dart Sass 1.x 版本中使用的旧 JavaScript API(如 sass.render() 或 sass.compile() 的旧调用方式)将在 2.0.0 版本中被移除。需迁移到新 API 以避免未来报错。…...

Concepts (C++20)

C20 Concepts Concepts 是 C20 引入的核心特性,用于显式约束模板参数,提升代码可读性和错误提示。以下通过代码示例和原理分步骤解析其用法。 1. 基本概念 目标:显式声明模板参数必须满足的条件。优势:替代复杂的 SFINAE 和 ena…...

CVE-2024-23897-Jenkins 2.441之前版本存在任意文件读取漏洞

1.漏洞介绍 Jenkins 2.441及更早版本,以及LTS 2.426.2及更早版本没有禁用其CLI命令解析器的一个功能,该功能会将参数中字符后跟的文件路径替换为该文件的内容,允许未经身份验证的攻击者读取Jenkins控制器文件系统上的任意文件。 2.poc利用 下…...

利用 SSE 实现文字吐字效果:技术与实践

利用 SSE 实现文字吐字效果:技术与实践 引言 在现代 Web 应用开发中,实时交互功能愈发重要。例如,在线聊天、实时数据监控、游戏中的实时更新等场景,都需要服务器能够及时将数据推送给客户端。传统的请求 - 响应模式在处理实时性要求较高的场景时显得力不从心,而 Server…...

离线部署kubernetes

麒麟Linux服务器 AMR架构 🧰 离线部署 Kubernetes v1.25.9(麒麟系统 Docker) 一、验证Docker部署状态 ‌检查Docker服务运行状态‌ systemctl status docker 预期输出应显示 Active: active (running),表明服务已启动‌18。 ‌…...

2024武汉邀请赛B.Countless Me

题目链接 #include<bits/stdc.h> using namespace std; using lllong long;int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);ll n; cin>>n;vector<ll>a(n1);ll res0;for(int i1;i<n;i) cin>>a[i],resa[i];ll ans0;for(int i32;i>…...

第53讲 农学科研中的AI伦理与可解释性——探索SHAP值、LIME等可解释工具与科研可信性建设之道

目录 一、为什么农学科研中需要“可解释AI”? ✅ 场景示例: 二、常见可解释AI工具介绍 1. SHAP(SHapley Additive exPlanations) 2. LIME(Local Interpretable Model-agnostic Explanations) 三、AI伦理问题在农学中的体现 🧭 公平性与偏见 🔐 数据隐私 🤖…...

《Python3网络爬虫开发实战(第二版)》配套案例 spa6

Scrape | Moviehttps://spa6.scrape.center/ 请求影片列表api时&#xff0c;不仅有分页参数&#xff0c;还多了一个token&#xff0c;通过重发请求发现token有时间限制&#xff0c;所以得逆向token的生成代码。 通过xhr断点定位到接口请求位置 刷新页面或者点翻页按钮&#x…...

面试题:Java程序CPU 100%问题排查指南

Java程序CPU 100%问题排查指南 当Java程序出现CPU使用率达到100%的情况时,通常意味着程序存在性能瓶颈或无限循环等问题。以下是系统化的排查方法和解决方案: 1. 快速定位问题线程 使用top命令初步定位 top -H -p <java_pid> # 查看Java进程的所有线程CPU占用线程…...

YOLOv12的注意力机制革新与实时检测性能分析——基于架构优化与历史版本对比

目录 一、摘要 二、引言 三、YOLO架构的技术演变 四、YOLOv12的架构设计 主干网特征提取 头部特征融合和目标检测 五、YOLOv12的架构创新 区域注意力模块 残差高效层聚合网络&#xff08;R-ELAN&#xff09; 其他改进和效率提升 六、YOLOv12 的基准评估 延迟与精度…...

Ollama工具调用(Tool Calls)业务应用案例

场景&#xff1a;电商客服自动处理退货请求 业务需求&#xff1a;用户通过聊天界面申请退货&#xff0c;模型需调用外部工具验证订单状态、触发退货流程&#xff0c;并返回处理结果。 1. 定义工具列表 在请求中声明模型可调用的工具&#xff08;函数&#xff09;及其参数格式…...

输入捕获模式测频率

前提工作&#xff1a; PA6、PA0通过跳线相连&#xff0c;PA6测试PA0的输出频率 本来只有下列函数&#xff0c;改变占空比 但是我们需要测试频率&#xff0c;需要动态改变频率。 void PWM_SetCompare1(uint16_t Compare) {TIM_SetCompare1(TIM2, Compare); //设置CCR1的值 }…...

【Vue3 实战】插槽封装与懒加载

一、为什么需要插槽&#xff1f;从一个面板组件说起 在电商首页开发中&#xff0c;经常遇到这样的场景&#xff1a; 「新鲜好物」「人气推荐」同样类型模块都需要相同的标题栏&#xff0c;但内容区布局不同 这时候&#xff0c;插槽&#xff08;Slot&#xff09;就像一个「内容…...

Matlab 复合多层结构的隔声研究

应用转移矩阵的方法,就平面声波垂直入射的情况,对具有周期结构的无限大多层板的隔声特性进行了理论分析,并对结构不同的多层板的隔声特性进行了数值模拟.理论分析和数值模拟表明:与通常隔声用的单层或双层板相比,在保持面密度不变的条件下&#xff0c;采用多层板结构能够在某些…...

vulkanscenegraph显示倾斜模型(6)-帧循环

前言 上一部分&#xff0c;通过十个章节的内容&#xff0c;对视景器的初始化与准备工作进行了系统性的剖析。本章将在该基础上&#xff0c;探讨vsg中的帧循环机制&#xff0c;主要包含前进到下一帧、事件处理、更新、记录与提交、呈现五个部分&#xff0c;同时整个过程包含了复…...

k8s 1.26版部署

环境规划: pod网段:10.244.0.0/16 service网段:10.10.0.0/16 注意: pod和service网段不可冲突,如果冲突会导致K8S集群安装失败。 容器运行时本次使用containerd。 主机规划: 一、初始化系统(所有节点) 1. 主机名定义以及解析 2. 关闭防火墙 3. 关闭selinux 4. 时间同…...

Android之AI自动化测试--Midscene

文章目录 前言一、准备工作1.安装2.准备 API Key3.安装 adb4.连接设备 二、yaml格式自动化脚本1. 脚本案例2.执行结果 三、文件结构变化android 部分 前言 字节 Web Infra团队官宣Midscene 从 v0.15 开始支持 Android 自动化测试&#xff0c;本篇文章介绍yaml方式的Android自动…...

Cadence 建立复合原理图封装时怎么切换页面

1.在当前页面A绘制完成&#xff0c;若要切换到下一页面B。怎么操作呢&#xff1f; 见下面&#xff1a; CTRLN,切换到下一部分(CTRLB,切换到前一部分)继续放线以及管脚 即&#xff1a;此时在原理图库的A部分 此时按 CTRLN,切换到下一B部分...

Sharding-JDBC 系列专题 - 第八篇:数据治理与高级功能

Sharding-JDBC 系列专题 - 第八篇:数据治理与高级功能 本系列专题旨在帮助开发者全面掌握 Sharding-JDBC,一个轻量级的分布式数据库中间件。本篇作为系列的第八篇文章,将重点探讨 数据治理(Data Governance) 和 高级功能,包括数据加密、影子表、SQL 审计以及 ShardingSp…...

今日行情明日机会——20250424

指数依然是震荡走势&#xff0c;接下来两天调整的概率较大 2025年4月24日涨停主要行业方向分析 一、主要方向 化工&#xff08;新能源材料&#xff09; • 涨停家数&#xff1a;8家&#xff08;最强方向&#xff09;。 • 代表标的&#xff1a; ◦ 中欣氟材&#xff08;3连板…...

Kubernetes 常用运维命令整理

目录 Kubernetes 常用运维命令整理一、集群管理二、Pod 和容器管理三、Deployment 和应用管理四、Service 和网络管理五、存储管理六、ConfigMap 和 Secret 管理七、资源使用与监控八、调度和容错九、Role 和权限管理十、清理资源 总结 Kubernetes 常用运维命令整理 Kubernete…...

【Python爬虫基础篇】--4.Selenium入门详细教程

先解释&#xff1a;Selenium&#xff1a;n.硒&#xff1b;硒元素 目录 1.Selenium--简介 2.Selenium--原理 3.Selenium--环境搭建 4.Selenium--简单案例 5.Selenium--定位方式 6.Selenium--常用方法 6.1.控制操作 6.2.鼠标操作 6.3.键盘操作 6.4.获取断言信息 6.5.…...

基于Vulkan Specialization Constants的材质变体系统

材质变体 所谓材质变体&#xff0c;指的是一份材质代码文件&#xff0c;最终对应的是多份运行时gpu程序。比如&#xff0c;shader代码里面有开关或者选项&#xff0c;不同的组合对应不同的最终gpu program。那么&#xff0c;所有的这些组合对应的gpu program&#xff0c;可以统…...

Langchain+RAG+向量数据库

加载数据 import osimport lancedb from langchain_community.document_loaders import TextLoader from langchain_community.embeddings import BaichuanTextEmbeddings from langchain_community.vectorstores import LanceDB from langchain_core.output_parsers import St…...

Stack和Queue和deque的讲解(底层实现 手撕版)

一.底层的基本思路 我们cpp中实现的栈和队列不同于我们数据结构c语言实现的栈和队列&#xff0c;c语言中实现的栈和队列都是通过一个数组指针的形式来完成&#xff0c;每个函数都需要写大量的代码&#xff0c;但是我们的cpp&#xff0c;就是通过函数模板 适配器来完成的。 我们…...

《Pinia 从入门到精通》Vue 3 官方状态管理 -- 插件扩展篇

使用插件扩展功能 可以同时使用多个插件&#xff08;插件“中间件式”机制&#xff09;一、使用多个插件的方式二、插件机制简图三、插件互不冲突的关键点四、实战示例&#xff1a;多插件组合使用五、组合使用注意事项推荐插件组合搭配方案&#xff08;实战模板&#xff09; 根…...

JavaScript 中的 Reflect 对象:深入理解与应用

JavaScript 中的 Reflect 对象&#xff1a;深入理解与应用 一、引言 在 JavaScript 不断发展的过程中&#xff0c;ES6 引入了许多新的特性和对象&#xff0c;其中 Reflect 对象是一个强大且实用的工具。Reflect 对象提供了一系列静态方法&#xff0c;这些方法与 Proxy 对象的…...

dirsearch 使用教程:详细指南与配置解析

dirsearch 是一款强大的开源命令行工具&#xff0c;用于对 Web 服务器进行目录和文件暴力破解。它通过扫描目标网站&#xff0c;尝试发现隐藏的目录、文件或潜在的敏感资源&#xff0c;广泛应用于渗透测试和安全审计。dirsearch 提供丰富的选项和灵活的配置文件支持&#xff0c…...

【C++基础知识】C++类型特征组合:`disjunction_v` 和 `conjunction_v` 深度解析

这两个模板是C17引入的类型特征组合工具&#xff0c;用于构建更复杂的类型判断逻辑。下面我将从技术实现到实际应用进行全面剖析&#xff1a; 一、基本概念与C引入版本 1. std::disjunction_v (逻辑OR) 引入版本&#xff1a;C17功能&#xff1a;对多个类型特征进行逻辑或运算…...

ctfhow——web入门214~218(时间盲注开始)

web入门214 #another:uwvwko import requestsurlhttp://b0c11589-31c9-4bf9-8b66-6b5a1fc08726.challenge.ctf.show/api/index.php flag str{-_1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM}for i in range(1,50):for j in str:# 查数据库# payload "…...

shell练习(2)

1.给脚本service.sh进行修改,当执行的时候要求输入(1、2、3、4、5)时安装对应的httpd、vim、wget、更换aliyum等功能&#xff0c;当输入错误 时提示应该输入正确的值但是不会退出。 [rootbogon yy]# cat service.sh #!/bin/bash while : do cat <<-EOF --------------…...

【GO语言小案例手记】基于GIN的简易代理网关

基于GIN的简易代理网关 背景目标开工依赖主体代码配置文件 后记 背景 正好最近对GO也有点兴趣&#xff0c;搞个小项目练练手。 目标 网关需要能够根据路由自动映射到服务支持轮询、加权轮询、随机轮询三种算法简单好理解好使用&#xff0c;最好一个配置文件就能跑起来网关本…...

Qt 入门 6 之布局管理

Qt 入门 6 之布局管理 对于一个完整的软件&#xff0c;布局管理时必不可少的。其会让界面中嗯嗯部件呈现一个整齐的排列&#xff0c;也可令其大小随着窗口界面的大小变换而变化Qt 主要提供了QLayout 类及其子类作为布局管理器&#xff0c;他们可以实现常用的布局管理功能&…...

Java技术体系的主要产品线详解

Java技术体系的主要产品线详解 Java Card&#xff1a;支持Java小程序&#xff08;Applets&#xff09;运行在小内存设备&#xff08;如智能卡&#xff09;上的平台。 Java ME&#xff08;Micro Edition&#xff09;&#xff1a;支持Java程序运行在移动终端&#xff08;手机、P…...

第四章: 服务集成抽象

Chapter 4: 服务集成抽象 &#x1f31f; 从上一章到本章 在第三章&#xff1a;传输机制中&#xff0c;我们学习了如何通过STDIO和SSE协议让LLM与不同服务器通信。现在想象这样的场景&#xff1a;你的AI助手需要同时操作本地文件和云端数据库。这时问题来了——如何让LLM像操作…...

高精度并行2D圆弧拟合(C++)

依赖库 Eigen3 GLM Ceres-2.1.0 glog-0.6.0 gflag-2.2.2 基本思路 Step 1&#xff1a; RANSAC找到圆弧&#xff0c;保留inliers点&#xff1b; Step 2&#xff1a;使用ceres非线性优化的方法&#xff0c;拟合inliers点&#xff0c;得到圆心和半径&#xff1b; -------…...

【防火墙 pfsense】1简介

&#xff08;1&#xff09; pfSense 有以下可能的用途&#xff1a; 边界防火墙 路由器 交换机 无线路由器 / 无线接入点 从OSI7层模型了解设备在典型网络结构中所处的位置。 &#xff08;2&#xff09;边界防火墙 ->要充当边界防火墙&#xff0c;pfSense 系统至少需要两个接…...

GPT-4o最新图像生成完全指南:10大应用场景与提示词模板

引言 OpenAI于近期推出的全新GPT-4o图像生成功能&#xff0c;代表了AI图像创作领域的重大突破。作为一个原生多模态系统&#xff0c;GPT-4o将文本理解和图像生成无缝整合&#xff0c;为创作者、教育工作者和专业人士提供了前所未有的视觉创作灵活性。本文将分享10个GPT-4o图像…...

32单片机——外部中断

STM32F103ZET6的系统中断有10个&#xff0c;外部中断有60个 1、中断的概念 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的&#xff0c;中断功能的存在&#xff0c;很大程度上提高了单片机处理外部或内部事件的能力 eg&#xff1a;&#xff1a;你打开火&…...

《Pinia 从入门到精通》Vue 3 官方状态管理 -- 进阶使用篇

《Pinia 从入门到精通》Vue 3 官方状态管理 – 基础入门篇 《Pinia 从入门到精通》Vue 3 官方状态管理 – 进阶使用篇 《Pinia 从入门到精通》Vue 3 官方状态管理 – 插件扩展篇 目录 Store 的模块化设计4.1 多模块结构设计✅ 推荐目录结构&#xff08;中大型项目&#xff09; …...

HarmonyOs @hadss/hmrouter路由接入

参考文档&#xff1a;官方文档 在根目录oh-package.json5配置 {"dependencies": {"hadss/hmrouter": "^1.0.0-rc.11"} }加入路由编译插件 hvigor/hvigor-config.json文件 {"dependencies": {"hadss/hmrouter-plugin": &…...