我正在使用以下代码使用 PowerShell 1.0 上传文件。如何判断上传是否成功完成或是否有错误?如果上传成功,我需要删除文件。
我试过的:
1.陷阱条款。似乎无法让这个工作。
2.检查$webclient.UploadFile的返回值——这似乎总是一个空字符串,成功与否
$File = "D:\Dev\somefilename.zip"
$ftp = "ftp://username:password@example.com/pub/incoming/somefilename.zip"
"ftp url: $ftp"
$webclient = New-Object System.Net.WebClient
$uri = New-Object System.Uri($ftp)
"Uploading $File..."
$webclient.UploadFile($uri, $File)
最佳答案
将陷阱放到新范围内,以便捕获 Upload 引发的异常,例如:
$succeeded = $true;
& {
trap { $script:succeeded = $false; continue }
$webclient.UploadFile($uri, $File)
}
if ($succeeded) { 'Yay!' } else { 'Doh!' }
您还可以尝试像这样捕获特定异常:
trap [System.Net.WebException] { ... }
关于powershell - Powershell 1.0 中的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3420200/