将字节数组转换为true / false

时间:2013-07-31 22:25:09

标签: powershell

通过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; 一个Byte数组,其中包含来自资源的响应主体。)。我是powershell的新手,所以这可能就是我的问题所在,但对于我的生活,我无法从$ result得到任何结果,所以我可以测试。是否有可能服务器没有返回任何内容,或者我只是没有正确访问/设置字节数组?我尝试了各种各样的东西,但还没有想出什么。

谢谢,

1 个答案:

答案 0 :(得分:0)

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

try
{
  $ftpclient.UploadFile($uri,$file.Fullname)
}
catch [System.Net.WebException]
{
 # here $_ gives you the exception details
}