我想在PowerShell中创建一个脚本来帮助轻松翻译这样的路径:
H:\MyDoc.docx
Run Code Online (Sandbox Code Playgroud)
进入其真正的绝对路径,如下:
\\FileServer\UserShares\Organization\Department\Me\MyDoc.docx
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我已经建立了我的本地计算机上的网络驱动器映射指向H:\来\\FileServer\UserShares\Organization\Department\Me\,但我需要轻松扩展,以便与谁可能没有驱动器映射其他用户共享映射路径.
获得驱动器的路径很容易.
(Get-PSDrive H).DisplayRoot
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试编写一个更通用的脚本时,我遇到了一个问题,该脚本可以自动适应可能指向其他映射驱动器的路径(我确实有几个).我正在弄清楚的是如何从给定路径中提取驱动器号.
我认为Split-Path会有所帮助,但似乎只能将路径分开 - "父"和"叶" - 两者都不会只给出驱动器号.
有没有办法让刚刚从PowerShell中的给定路径的驱动器盘符?
注意:我需要它来处理指向文件或文件夹的路径.
小智 10
从PowerShell 3.0开始,Split-Path现在提供以下-Qualifier选项:
-Qualifier
Indicates that this cmdlet returns only the qualifier of the specified path.
For the FileSystem or registry providers, the qualifier is the drive of the
provider path, such as C: or HKCU:.
Run Code Online (Sandbox Code Playgroud)
使用OP的例子:
PS C:\> Split-Path -Path "H:\MyDoc.docx" -Qualifier
Run Code Online (Sandbox Code Playgroud)
回报 H:
您可以使用PSDriveFileInfo对象的属性:
(Get-Item .\your\path\to\file.ext).PSDrive.Name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13196 次 |
| 最近记录: |