这是我得到的UNCpath。 \\sharespace\test1\10.0.1212.1
我可以得到它的父path\\sharespace\test1\ ?
有几个选项。 如果您有权访问该共享,则:
(Get-Item '\\sharespace\test1\10.0.1212.1').Parent.Fullname
如果你没有权限访问这个共享,那么你可以用不同的方式去操纵这个string。 这是一:
$path = '\\sharespace\test1\10.0.1212.1' [string]::Join('\', $path.Split('\')[0..$($path.Split('\').Length-2)])
有一个这样的cmdlet:
Split-Path \\sharespace\test1\10.0.1212.1 \\sharespace\test1
它不包括尾部的'\',但是如果你使用Join-Path,PowerShell会照顾到,如果需要的话,也可以添加它。
注意:Split-Path和Join-Path尝试parsing本地机器上的path,所以如果path有一个不是本地机器上的有效驱动器的盘符(比如'F:'),这些cmdlet将抛出一个错误。 有了像上面这样的UNCpath,你不应该有问题。
这是一个简单的方法来parsing完整的UNCpath中的父path。
$fullPath = "\\sharespace\test1\10.0.1212.1" $parentPath = "\\" + [string]::join("\",$fullPath.Split("\")[2..3])