Я пишу командлет для PowerShell на С#. Я создаю подкласс Cmdlet
, а НЕ PSCmdlet
.
Есть ли способ получить текущий каталог из PowerShell? Я мог бы сделать это с помощью PSCmdlet
, используя GetVariableValue("pwd")
. Но в классе Cmd у меня этого нет.
Environment.CurrentDiretory
указывает мне путь, с которого был запущен PowerShell, а не место, где сейчас находится сам PowerShell.
изменить
Пример:
Я запускаю powershell через, скажем, powershell_ise.exe
. Он запускается в C:\Windows\System32\WindowsPowerShell\v1.0
. Затем я меняю путь с помощью cd c:\my\folder
и запускаю свою команду Do-Something
. Внутри реализации «Do-Something» (сторона С#) я хотел бы получить текущий путь => c:\my\folder
.
Если возможно, я хотел бы избежать использования PSCmdlet
.
PSCmdlet
или передать местоположение в качестве аргумента параметра из вызывающего командлета. - person Mathias R. Jessen   schedule 17.06.2015PSCmdlet
. Пока выглядит хорошо. Я немного боялся этого, потому что мне действительно не нужно многого из этого, кроме доступа к его внутренностям. А с другой стороны... как раз для этого, я думаю... - person Hemisphera   schedule 17.06.2015