Sto creando uno script PowerShell che assemblerà un percorso HTTP dall'input dell'utente. L'output deve convertire qualsiasi spazio nell'input dell'utente per i codici specifici del prodotto, "% 2F".Come sostituire gli spazi con% 20 in PowerShell?
Ecco un esempio della sorgente e l'output:
L'URL del sito può essere una costante, anche se una variabile sarebbe un approccio migliore per il riutilizzo, come utilizzato nel programma è il seguente:/http:% 2F% 2SPServer/Progetti /"
$Company="Company"
$Product="Product"
$Project="The new project"
$SitePath="$SiteUrl/$Company/$Product/$Project"
come output ho bisogno di:.
'/http:%2F%2FSPServer%2FProjects%2FCompany%2FProductF2FThe%2Fnew%2Fproject'
questo dà + invece% 20, quindi utilizzare quello sotto – edelwater
@edelwater; + è una codifica valida del carattere spazio in un URL. Sono abbastanza sicuro che l'OP abbia solo bisogno di un URL validamente codificato, non specificamente di% 20 per lo spazio. –
non eseguire mai urlencode, eseguire sempre uri: escapedatastring (ed eseguire sempre urldecode); google/stackoverflow ad es. http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx – edelwater