如何能够在powershell脚本文件中导入函数库


PowerShell交流中心如何能够在powershell脚本文件中导入函数库
0
sy790825 asked 9 年 ago

我有一个文件夹,里面写了很多powershell函数,每个都保存为独立ps1文件,然后我在一个新的ps1文件中希望能自动的引用这个函数库,现在我的操作时是在该ps1文件中,为每一个函数都添加一条执行记录,如.\scripts\aaa.ps1,但这样很不方便,因为每次新增一个函数,我都需要修改这个ps1文件,希望有能更便捷的方法没,让ps1文件可以直接导入该文件下所有函数的ps1文件

 

0 Answers
0
Mooser Lee 管理员 answered 9 年 ago

把脚本按照这样的结构这样存放:

 Directory: D:\data\test


Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 9/28/2015 12:19 PM lib
-a--- 9/28/2015 12:22 PM 113 load.ps1


Directory: D:\data\test\lib


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 9/28/2015 12:19 PM 0 1.ps1
-a--- 9/28/2015 12:19 PM 0 2.ps1
-a--- 9/28/2015 12:19 PM 0 3.ps1
-a--- 9/28/2015 12:19 PM 0 4.ps1

然后写一个load脚本:

dir "$PSScriptRoot\lib" -Filter "*.ps1" | foreach {
. $_.fullName
Write-Host "Import $($_.fullName)"
}

这样每次就可以调用load脚本即可。

sy790825 replied 9 年 ago

感谢指点,我更新了下代码,实现目标文件下所有ps1文件的自动导入运行Get-ChildItem C:\NewScript\libiary -Filter “*.ps1” | %{&($_.FullName)}