我正在编写一个 powershell cmdlet。从我的 cmdlet BeginProcessing() 方法内部,我希望能够检索在调用 cmdlet 时作为默认目录的目录。
示例:如果用户这样做:
cd \myDirectory
invoke-mycmdlet
我想让我的代码知道默认的 shell 目录是 c:\myDirectory。当我访问 Environment.CurrentDirectory 时,它总是 c:\windows\system32
我在 SO 上看到过类似的帖子,其中海报需要使用 get-location 从 shell 内部设置 Environment::Current 目录。那对我不起作用。
基本上,我的 cmdlet 做了一些文件系统的事情,我希望用户能够 cd\ 进入一个目录,并执行我的 cmdlet,它在他们切换到的目录上运行——就像你期望的那样从旧的命令控制台工作。