文件名中格式错误的 URL powershell 空格
Malformed URL powershell spaces in filename
我正在使用以下脚本创建 URL。
$files1 =Get-ChildItem $ENV:WORKSPACE/Pro_result
$prefix="https://test-jenkins-a-master-black.aws.jhgf.com/job/qa/job/TestDemo_email_PDF/ws/Pro_result/"
foreach ($file in $files1) {
write-Output ($prefix+$file.Name)
}
但是,我得到的是这样的 url,我无法控制文件名
https://test-jenkins-a-master-black.aws.jhgf.com/job/qa/job/TestDemo_email_PDF/ws/Pro_result/W0A-209-193-210_Dealer portal产烟test_20220427-120342.pdf
它在 portal
之后中断。我该如何解决这个问题?
使用 [uri]::EscapeUriString
method 转义 URI 路径中的空格和类似字符:
foreach ($file in $files1) {
[uri]::EscapeUriString($prefix+$file.Name)
}
这将正确地 re-encode 空格作为 %20
,导致有效的 URL 没有空格 a la:
https://test-jenkins-a-master-black.aws.jhgf.com/job/qa/job/TestDemo_email_PDF/ws/Pro_result/W0A-209-193-210_Dealer%20portal%20production%20smoke%20test_20220427-120342.pdf
我正在使用以下脚本创建 URL。
$files1 =Get-ChildItem $ENV:WORKSPACE/Pro_result
$prefix="https://test-jenkins-a-master-black.aws.jhgf.com/job/qa/job/TestDemo_email_PDF/ws/Pro_result/"
foreach ($file in $files1) {
write-Output ($prefix+$file.Name)
}
但是,我得到的是这样的 url,我无法控制文件名 https://test-jenkins-a-master-black.aws.jhgf.com/job/qa/job/TestDemo_email_PDF/ws/Pro_result/W0A-209-193-210_Dealer portal产烟test_20220427-120342.pdf
它在 portal
之后中断。我该如何解决这个问题?
使用 [uri]::EscapeUriString
method 转义 URI 路径中的空格和类似字符:
foreach ($file in $files1) {
[uri]::EscapeUriString($prefix+$file.Name)
}
这将正确地 re-encode 空格作为 %20
,导致有效的 URL 没有空格 a la:
https://test-jenkins-a-master-black.aws.jhgf.com/job/qa/job/TestDemo_email_PDF/ws/Pro_result/W0A-209-193-210_Dealer%20portal%20production%20smoke%20test_20220427-120342.pdf