我正在尝试设置下载需要的文件以自动化和安装过程。每次运行脚本时,我都会收到错误,从周日开始我已经以七种方式更改了它,但它仍然给我错误。
脚本为:
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_scripttestjava.ps1:41 char:31
+ $client.DownloadFile <<<< ($source, $destination)
+ CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : DotNetMethodException
我是否需要创建一个函数才能使其正常工作?
谢谢:
如果您查看 DownloadFile
方法的 MSDN 文档,您会注意到第二个参数是文件名,而不是目录。 因此,如果您将$destination
重新定义为以下内容:
$destination = "c:CHPACSjava-installer.zip"
那么它应该可以工作。
其次,检查您尝试下载的文件是否未打开或当前未执行。如果文件正在使用中,将引发此异常。
你应该按照大卫说的给出一个文件名+文件夹应该存在。
就我而言,在我尝试执行脚本的计算机上无法访问 URL。必须启用代理规则以将其范围限定为计算机以下载文件。