0

通过 StackOverflow 和其他地方的各种不同的帖子,我能够将一个 FTP 上传文件的 powershell 脚本放在一起,并且效果很好。但是,我想为其添加更多详细信息。请参见下面的代码:

foreach ($file in $uploadfiles)
{

# create the full path to the file on remote server (odd but okay!)
$ftp_command = $ftp + $file

# for debugging
#$ftp_command

# create a new URI object for the full path of the file
$uri = New-Object System.URI($ftp_command)

#for debugging
#$uri

# finally do our upload to the remote server - URI object, full path to local file
#$responseArray = $ftpclient.UploadFile($uri,$file.Fullname)



$result = $ftpclient.UploadFile($uri,$file.Fullname)




if ($result) {
    $file.Fullname + " uploaded successfully"
} else {
    $file.Fullname + " not uploaded successfully"
}

}

基本上在文件上传后,我想检查它是否成功。上传文件应该返回一个字节数组(http://msdn.microsoft.com/en-us/library/36s52zhs(v=vs.80).aspx一个包含资源响应正文的字节数组。)。我是 powershell 的新手,所以这可能是我的问题所在,但是对于我的生活,我无法从 $result 中得到任何东西,所以我可以测试。服务器是否可能没有返回任何内容,或者我只是没有正确访问/设置字节数组?我尝试了各种不同的东西,但还没有弄清楚任何事情。

谢谢,

4

1 回答 1

0

从 PowerShell 2.0 开始,我不会在您的情况下使用 $result,您可以使用 try/catch 部分。

try
{
  $ftpclient.UploadFile($uri,$file.Fullname)
}
catch [System.Net.WebException]
{
 # here $_ gives you the exception details
}
于 2013-08-01T08:01:33.730 回答