所以我有一个像这样的UNC路径:
\\server\folder
我只想获取服务器的路径,例如\\server
.
Split-Path "\\server\folder" -Parent
返回""
。我尝试的任何处理根的方法都失败了。例如,Get-Item "\\server"
也失败了。
如何在 PowerShell 中安全地获取\\server
from的路径?\\server\\folder
所以我有一个像这样的UNC路径:
\\server\folder
我只想获取服务器的路径,例如\\server
.
Split-Path "\\server\folder" -Parent
返回""
。我尝试的任何处理根的方法都失败了。例如,Get-Item "\\server"
也失败了。
如何在 PowerShell 中安全地获取\\server
from的路径?\\server\\folder
通过使用System.Uri
类并查询其host
属性:
$uri = new-object System.Uri("\\server\folder")
$uri.host # add "\\" in front to get exactly what you asked
注意:对于 UNC 路径,根目录是服务器名加上共享名部分。
使用正则表达式的示例:
'\\server\share' -replace '(?<!\\)\\\w+'
$fullpath = "\\server\folder"
$parentpath = "\\" + [string]::join("\",$fullpath.Split("\")[2])
$parentpath
\\server