gpt4 book ai didi

Powershell:从 cmdlet 内部获取默认目录

转载 作者:行者123 更新时间:2023-12-02 23:04:33 26 4
gpt4 key购买 nike

我正在编写一个 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,并在他们切换到的目录上进行操作 - 就像您所做的那样期望它可以在旧的命令控制台上工作。

最佳答案

您可能想尝试一下,CurrentLocation.Path 也可以指向其他提供程序路径,例如注册表。

this.SessionState.Path.CurrentFileSystemLocation.Path

关于Powershell:从 cmdlet 内部获取默认目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19826114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com