/ / Como posso obter o diretório atual no cmdlet do PowerShell? - c #, c # -4.0, powershell

Como posso obter o diretório atual no cmdlet do PowerShell? - c #, c # -4.0, powershell

Estou desenvolvendo um PowerShell 3.0 cmdlet usando C # /. Net 4.0 no Visual Studio 2010. Eu gostaria de obter o diretório atual no PowerShell onde o usuário executa o cmdlet. Mas Directory.GetCurrentDirectory () não funciona como esperado. No código abaixo, o resultado é C: UsersAdministrator.

Pergunta: o que cmdlet código é usado para obter o diretório atual do 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;
}
}

Respostas:

21 para resposta № 1

Um processo do PowerShell pode ter várias RunspacesPortanto, um único diretório global não funciona para o PowerShell. Além disso, no PowerShell, o diretório atual pode estar no Registro e não no sistema de arquivos. No entanto, você pode acessar o diretório do sistema de arquivos com a API do PowerShell da seguinte forma:

this.SessionState.Path.CurrentFileSystemLocation