我有一个主脚本运行其他脚本并使用点源从这些脚本加载变量。该脚本以交互方式运行良好,但是当我安排它运行时,它不运行脚本我是点源。有什么想法吗?
答案 0 :(得分:6)
我遇到了类似的问题:当我以管理员身份运行主脚本时,我的点源脚本没有执行。
事实证明,当我以管理员身份运行脚本时,基本目录是不同的。尝试使用点源中的绝对路径。如果它可行,那么你可以找到一个更好的解决方案,如下所示:
$subScriptName = "MySubscript.ps1"
$subScriptPath = Join-Path -Path $callingDir -ChildPath $subScriptName
if (Test-Path $subScriptPath)
{
# use file from local folder
. $subScriptPath
}
else
{
# use central file (via PATH-Variable)
. $subScriptName
}
答案 1 :(得分:0)
使用绝对路径。
点源是指当前目录。当您以交互方式运行时,这通常与脚本相同,但在安排脚本时可能是另一个目录。