“带有”2“参数的异常调用”DownloadFile“:”WebClient请求期间发生异常“。

时间:2012-12-04 21:42:32

标签: powershell

我正在尝试设置下载需要文件以自动化和安装过程。我一直在运行脚本时遇到错误,而且我已经从星期日开始改变了七种方式,它仍然给我带来错误。

The script is 

  if (test-path $java_path)

   {
   Write-Output "Java already installed. Skipping script"
   exit 0
    }

  else 

    {
      $source = "http://our.server.com/java-installer.zip"
      $destination = "c:\CHPACS"
      $client = new-object System.Net.WebClient
      $client.DownloadFile($source, $destination)

      }

我收到的错误消息是

 Exception calling "DownloadFile" with "2" argument(s): "An exception occurred during a WebClient request."
 At C:\ps_script\testjava.ps1:41 char:31
 +           $client.DownloadFile <<<< ($source, $destination)
 + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
 + FullyQualifiedErrorId : DotNetMethodException

我是否需要创建一个功能才能使其正常工作?

谢谢你:

3 个答案:

答案 0 :(得分:23)

如果您查看DownloadFile方法的MSDN文档,您会注意到第二个参数是 filename ,而不是目录。因此,如果您将$destination重新定义为:

$destination = "c:\CHPACS\java-installer.zip"

然后它应该工作。

其次检查您尝试下载的文件当前是否未打开或正在执行。如果文件正在使用,将引发此异常。

答案 1 :(得分:11)

您应该提供一个文件名,如David所说+文件夹应该存在。

答案 2 :(得分:0)

就我而言,在我尝试执行脚本的机器上无法访问 URL。必须启用代理规则才能将其范围限定为下载文件的机器。