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|getmember[string]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一定要填,而且

 

posted on   耀礼士多德  阅读(206)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示