PowerShell - это отличный способ автоматизировать утомительные повторяющиеся задачи, подобные описанным выше!
Использование PowerShell
Преобразование указанного выше UNC-пути в URI файла чрезвычайно просто с помощью PowerShell (все версии) и требует только операторов форматирования и замены, например:
$Path = "\\sharepoint.business.com\DavWWWRoot\rs\project 1\document.txt"
# replace back slash characters with a forward slash, url-encode spaces,
# and then prepend "file:" to the resulting string
# note: the "\\" in the first use of the replace operator is an escaped
# (single) back slash, and resembles the leading "\\" in the UNC path
# by coincidence only
"file:{0}" -f ($Path -replace "\\", "/" -replace " ", "%20")
Что приводит к следующему:
file://sharepoint.business.com/DavWWWRoot/rs/project%201/document.txt
Как многоразовая функция
Наконец, повторяющиеся задачи, подобные вышеперечисленным, должны быть по возможности включены в функции PowerShell. Это экономит время в будущем и гарантирует, что каждая задача всегда выполняется одинаково.
Следующая функция является эквивалентом вышеуказанного:
function ConvertTo-FileUri {
param (
[Parameter(Mandatory)]
[string]
$Path
)
$SanitizedPath = $Path -replace "\\", "/" -replace " ", "%20"
"file:{0}" -f $SanitizedPath
}
После того, как функция была определена (и загружена в текущий сеанс PowerShell), просто вызовите функцию по имени и укажите путь UNC для преобразования в качестве параметра, например:
ConvertTo-FileUri -Path "\\sharepoint.business.com\DavWWWRoot\rs\project 1\document.txt"