PowerShell学习笔记五_模块
PowserShell其他技巧
1. 执行完一个ps1文件后,不回收
有一个场景,在fun.ps1中,仅仅写了一段
Funtion fun([String] input)
{
}
然后打开PowerShell之后,输入.\fun.ps1,回车,因为fun.ps1中,没有调用fun,所以什么事情都没有发生
随后,fun函数也会从内存中清空,按Tab键也不会补全
为了避免这个情况,要输入:
. .\fun.ps1 , .[空格].\fun.ps1
然后按tab键就会出来了
原理:PowerShell为一个.ps1文件建一个堆栈,使用".[空格].\fun.ps1" 就不回收这个堆栈
2. 正则表达式测试: “内容” -match "表达式"
3. 获取文件内容:$content = Get-Content -path C:\user\pyl\destop\aa.txt
#虽然content[1]就是获取第2行的
但是,如果每次都要输入. .\fun.ps1 ,才能开始工作,就比较麻烦
可以将fun.ps1搞得像PowserShell原生命令一样,”注册“到电脑中
#当函数按照标准的PS命名时,可以视为cmdlet,如fun是方法,而Get-xxxx则可以视为Cmdlet
模块的发布
模块是以文件夹的形式存在,里面包含.psd1文件,.psm1文件
.psm1文件是模块文件,.psd1是模块调用的文件
.psm1相当于入口了
模块文件夹放在C:\Program Files (x86)\WindowsPowerShell\Modules中
导入模块:
Import-Module c:\XXX\module1.psm1
根据.ps1生成.psm1
New-ModuleManifest -Path $env:ProgramFiles\WindowsPowerShell\Modules\MyScriptModule\MyScriptModule.psd1 -RootModule MyScriptModule -Author 'Mike F Robbins' -Description 'MyScriptModule' -CompanyName 'mikefrobbins.com'
注意的是,RootModule一定要填,而且
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现