如何在PowerShell中获取当前文件位置

时间:2012-05-18 12:19:53

标签: powershell

我想知道如何获取我正在运行或编写的脚本的位置。我们有一组.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")

2 个答案:

答案 0 :(得分:12)

$MyInvocation

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

get-help about_Automatic_Variables -full

(编辑)的 要获取当前目录,您已获得CmdLet Get-Location

答案 1 :(得分:2)

$MyInvocation.MyCommand.Path也许?