我知道你可以写自定义PSDrives的支持。但那些始终是文件系统的根。如果有一种方法允许在文件系统的任意节点上启动VFS,例如使用Set-Location
输入存档文件可能并使用它们就好像它们是文件夹一样,那会更好。 (有点像Far这样做)。
有没有办法实现这个目标?我知道,要做到正确并且正常工作会有一些工作,但目前我更感兴趣的是它是否可能
ETA:我不想要的是我输入的每个档案的新的PSDrive,所以以下实际上并不是我想要的:
PS C:\Path> Invoke-Magic stuff.zip
PS C:\Path> Set-Location MyNewDrive:
PS MyNewDrive:> _
而是
PS C:\Path> Set-Location stuff.zip
PS C:\Path\stuff.zip> _
答案 0 :(得分:2)
您所描述的是FileSystem提供程序,它还将存档视为容器对象。由于FileSystemProvider是密封的,我认为你必须自己编写NavigationCmdletProvider才能发挥你的魔力。
答案 1 :(得分:0)
不确定。实际上,您可以在某种程度上完成此操作而无需编写任何管理单元代码。例如:
New-PsDrive -Scope Global -Name MyMod -PSProvider FileSystem -Root (split-path $profile | join-path -child Modules)
dir MyMod:\
答案 2 :(得分:0)
您需要为SourceSafe(旧的但仍然相关)的提供者写一个provider,here is an example