我正在尝试设置下载需要文件以自动化和安装过程。我一直在运行脚本时遇到错误,而且我已经从星期日开始改变了七种方式,它仍然给我带来错误。
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
我是否需要创建一个功能才能使其正常工作?
谢谢你:
答案 0 :(得分:23)
如果您查看DownloadFile
方法的MSDN文档,您会注意到第二个参数是 filename ,而不是目录。因此,如果您将$destination
重新定义为:
$destination = "c:\CHPACS\java-installer.zip"
然后它应该工作。
其次检查您尝试下载的文件当前是否未打开或正在执行。如果文件正在使用,将引发此异常。
答案 1 :(得分:11)
您应该提供一个文件名,如David所说+文件夹应该存在。
答案 2 :(得分:0)
就我而言,在我尝试执行脚本的机器上无法访问 URL。必须启用代理规则才能将其范围限定为下载文件的机器。