2010-11-14 67 views
2

我想写一个powershell脚本,它将根据当前目录设置下载目录变量,并将文件下载到该目录。Powershell下载文件无法正常工作

我的代码是:

cd downloads 
$DevDownloadDirectory = [IO.Directory]::GetCurrentDirectory 

$clnt = New-Object System.Net.WebClient 

# download and extract the file 
$url = “fileurl/file.zip" 
$file = "$DevDownloadDirectory\file.zip" 
$clnt.DownloadFile($url,$file) 

我得到的问题是,每当我得到的这部分代码就泵出:

异常调用“DownloadFile”与“2”参数:“在WebClient请求期间发生异常 。”在C:\目录\ script.ps1:462 字符:20

  • $ clnt.DownloadFile < < < <($网址,$文件)
  • CategoryInfo:NotSpecified:(:) [],MethodInvocationException
  • FullyQualifiedErrorId:DotNetMethodException

任何人都可以请帮我找出为什么发生这种情况?

+0

这里有什么帮助吗? http://stillpearling.blogspot.com/2009/02/more-powershell-adventures.html – Shoban 2010-11-14 04:25:05

+1

注意不正确的引用符号在行上:'$ url =“' – cederlof 2015-11-20 14:35:56

回答

2
$DevDownloadDirectory = [IO.Directory]::GetCurrentDirectory 

应该

$DevDownloadDirectory = [IO.Directory]::GetCurrentDirectory() 

GetCurrentDirectory()是一个方法,如果你不使用“()”,它只会返回相同的名称,但不是当前目录。

+4

还应该注意的是,GetCurrentDirectory()将返回PowerShell的工作目录,而不是你当前的目录。除非你自己更新它,你应该使用$ pwd来代替。 – JasonMArcher 2010-11-14 20:08:49

+0

谢谢,这解决了这个问题,我应该注意我使用了Jason为$ pwd所建议的内容,以便我可以让工作目录成为变量的值。 – th3flyboy 2010-11-16 00:11:01