【问题标题】:How can I get the current directory in PowerShell cmdlet?如何在 PowerShell cmdlet 中获取当前目录?
【发布时间】:2012-12-16 01:54:03
【问题描述】:

我正在 Visual Studio 2010 中使用 C#/.Net 4.0 开发 PowerShell 3.0 cmdlet。我想在 PowerShell 中获取用户执行 cmdlet 的当前目录。但是 Directory.GetCurrentDirectory() 没有按预期工作。在下面的代码中,结果是 C:\Users\Administrator。

问题:用什么cmdlet代码来获取PowerShell的当前目录?

[System.Management.Automation.Cmdlet(System.Management.Automation.VerbsCommon.Get, "StatusBar")]
public class GetStatusBarCommand : System.Management.Automation.PSCmdlet
{
    /// <summary>
    /// Provides a record-by-record processing functionality for the cmdlet.
    /// </summary>
    protected override void ProcessRecord()
    {
        this.WriteObject(Directory.GetCurrentDirectory());
        return;
    }
}

【问题讨论】:

    标签: c# c#-4.0 powershell


    【解决方案1】:

    一个 PowerShell 进程可以有多个运行空间,因此单个全局目录不适用于 PowerShell。除此之外,在 PowerShell 中,您的当前目录可能位于注册表中而不是文件系统中。但是,您可以使用 PowerShell API 访问文件系统目录,如下所示:

    this.SessionState.Path.CurrentFileSystemLocation
    

    【讨论】:

      猜你喜欢
      • 2015-09-02
      • 2012-01-10
      • 1970-01-01
      • 2010-10-26
      • 2012-12-12
      • 2020-03-29
      • 1970-01-01
      • 2013-04-14
      相关资源
      最近更新 更多