美文网首页
powershell 加载函数文件,获取当前脚本执行目录

powershell 加载函数文件,获取当前脚本执行目录

作者: mudssky | 来源:发表于2022-07-18 16:05 被阅读0次

powershell载入函数

我们把powershell函数写入ps1文件,然后执行,发现ps1脚本中的函数并没有载入运行环境。

这里我们可以使用 .语法加载函数,可能就类似于bash里的source命令了

. function.ps1

Import-Module

我们也可以用这个cmdlets

Import-Module function.ps1

获取当前脚本执行目录

当我们直接在命令行运行ps1脚本,其实和我们把脚本复制到powershell终端里执行是一样的效果

所以当我们在脚本中使用了相对目录,就会出问题。

比如我用下面这个命令替换$profile 文件

Set-Content -Path $profile  -Value (Get-Content $currentScriptFolder/Microsoft.PowerShell_profile.ps1)

相对目录会被解释为终端打开的目录,导致找不到文件。

因此我们需要脚本所在的目录来实现相对目录。

就是下面的方法,我封装了一个函数

# 获取脚本执行目录
function Get-ScriptFolder(){
    $currentScriptPath =  $MyInvocation.MyCommand.Definition
    $currentScriptFolder = Split-Path  -Parent   $currentScriptPath 
    return $currentScriptFolder
}

相关文章

网友评论

      本文标题:powershell 加载函数文件,获取当前脚本执行目录

      本文链接:https://www.haomeiwen.com/subject/jxqsirtx.html