如何获取 Cmdlet 中的当前工作目录

本文关键字:当前工作 Cmdlet 何获取 获取 | 更新日期: 2023-09-27 17:56:41

我正在用C#为PowerShell编写一个Cmdlet。我正在子类化Cmdlet而不是PSCmdlet.

有没有办法从PowerShell获取当前目录?我可以使用GetVariableValue("pwd") PSCmdlet做到这一点。但是在 Cmd 类中,我没有可用的。

Environment.CurrentDiretory指出了PowerShell的起点,而不是PowerShell本身目前所处的位置。

编辑

例:

我通过 - 说 - powershell_ise.exe 启动电源外壳。它以C:'Windows'System32'WindowsPowerShell'v1.0启动。然后我使用 cd c:'my'folder 更改路径并运行我的命令Do-Something .在"做某事"(C#端)的实现中,我希望能够检索当前路径=> c:'my'folder

如果可能的话,我想避免使用PSCmdlet.

如何获取 Cmdlet 中的当前工作目录

我从C:'Users'<myusername>开始.如果我知道输入cd..我在C:'Users'

输入(Get-Location).Path将返回C:'Users 。这就是你想要的,不是吗?

或者尝试:

WriteObject(this.SessionState.Path.CurrentFileSystemLocation);

参考:如何在 PowerShell cmdlet 中获取当前目录?