我有一个.ps1文件,其中包含我需要导入的变量,但我不知道启动时的路径,需要在函数中导入脚本。我可以验证脚本是否存在,但是没有导入任何变量。
vars.ps1: $ var1 = 4
class Foo
{
static [string]GetFilename()
{
return join-path $path "vars.ps1"
}
static [void] ImportScript()
{
$settingsFile = GetFilename()
Import-Module $settingsFile
write-host "testing settings path $settingsFile : $(Test-Path $settingsFile)"
}
static [void] Print()
{
$var1= $script:var1
write-host "var1: $var1"
}
}
输出: VAR1:
似乎在函数中导入模块存在限制。我也尝试使用$ global和常规函数而不是类方法,但得到了相同的结果。
将逻辑拉出函数并在脚本级别运行它。