O PowerShell é uma excelente maneira de automatizar tarefas recorrentes e tediosas como as descritas acima!
Usando o PowerShell
Converter o caminho UNC acima em um URI de arquivo é extremamente simples usando o PowerShell (todas as versões) e requer apenas o format e substitua operadores , por exemplo :
$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")
Que produz o seguinte:
file://sharepoint.business.com/DavWWWRoot/rs/project%201/document.txt
Como uma função reutilizável
Por fim, tarefas recorrentes como as descritas acima devem ser feitas nas funções do PowerShell sempre que possível. Isso economiza tempo no futuro e garante que cada tarefa seja sempre executada exatamente da mesma maneira.
A seguinte função é equivalente ao acima:
function ConvertTo-FileUri {
param (
[Parameter(Mandatory)]
[string]
$Path
)
$SanitizedPath = $Path -replace "\", "/" -replace " ", "%20"
"file:{0}" -f $SanitizedPath
}
Quando a função tiver sido definida (e carregada na sessão atual do PowerShell), basta chamar a função pelo nome e fornecer o caminho UNC a ser convertido como um parâmetro, por exemplo:
ConvertTo-FileUri -Path "\sharepoint.business.com\DavWWWRoot\rs\project 1\document.txt"