因为在PowerShell中每次用
Start-Process打开程序都要指定具体目录,就想写一个脚本来自动搜索程序,但又不想每次都去运行脚本,琢磨了半天,就想到了Module,这样的话可以把之前写的脚本放在Module里,以后调用时就不用去运行脚本了,相接敲命令就行了。
首先建立Module(名字为MyScripts)
第一步,查看PowerShell中$env:PSModulePath的路径,在其路径下创建与Module同名(MyScripts)文件夹,或在$env:PSModulePath中添加MyScripts文件夹的路径,
第二步,在MyScripts文件夹下创建同名的psm1文件(MyScripts.psm1)。
PowerShell加载Module时首先的加载MyScripts.psm1文件。所以要在psm1文件中添加其它脚本
用Import-Module命令指定要加载的脚本,如
Import-Module (Join-Path $PSScriptRoot "BasicFunction.ps1")
. (Join-Path $PSScriptRoot "StartMyApp.ps1")
这样在PowerShell中用 Import-Module <Module名字> 就可以加载MyScripts Module了。
因为PowerShell默认导出Module的所有Function与Alias,但一些Function为私有的,怎么办?有两种方法
一、用