2

我想知道如何获取我正在运行或编写的脚本的位置。我们将一组 .NET 程序集放在与当前 PowerShell 脚本相同的目录中,我们希望从脚本中加载它们。现在我使用固定路径来定位程序集,但我们想从当前文件位置加载它们。

[System.Reflection.Assembly]::LoadFrom
("C:\Work\Scripts\Assemblies\DynamicOps.ManagementModel.Client.dll")

[System.Reflection.Assembly]::LoadFrom
("C:\Work\Scripts\Assemblies\DynamicOps.Repository.dll")
4

2 回答 2

12
$MyInvocation

包含具有有关当前命令的信息的对象,例如脚本、函数或脚本块。您可以使用对象中的信息,例如脚本的路径和文件名 ( $myinvocation.mycommand.path) 或函数的名称 ( $myinvocation.mycommand.name) 来识别当前命令。这对于查找正在运行的脚本的名称特别有用。您将通过about_Automatic_Variables获得有关自动变量的全面帮助:

get-help about_Automatic_Variables -full

(已编辑)要获取当前目录,您需要使用 CmdLetGet-Location

于 2012-05-18T12:24:36.967 回答
2

$MyInvocation.MyCommand.Path也许?

于 2012-05-18T12:24:26.447 回答