我在c:\scripts\
目录中有以下脚本。
# . c:\scripts\anotherScript.ps1
function GetScriptRoot { Split-Path $script:MyInvocation.MyCommand.Path }
. "$(GetScriptroot)\anotherScript.ps1"
但是,这会在ISE中引发错误。在控制台和ISE中都可以使用吗?我正在尝试不使用完整的绝对路径。
最佳答案
$ MyInvocation.MyCommand.Path属性仅在运行的脚本中可用。
要检测您是否正在ISE中运行,可以检查$psise
变量:
if ($psise) {
"Running in the ISE"
} else {
"Not running in the ISE"
}
或查看
$host.Name
属性:PS C:\Users\andy> $host
Name : Windows PowerShell ISE Host
PS C:\Users\andy> $host
Name : ConsoleHost
关于powershell - 在Powershell控制台和ISE中从脚本目录中点源文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8858027/