使用PowerShell从ftp下载具有特定扩展名的文件

使用PowerShell从ftp下载具有特定扩展名的文件,powershell,Powershell,我正在尝试从ftp下载扩展名为.tar的文件。tar文件的名称如下:archive_432r2332234343432424342342.tar 我正在使用以下代码: $WebClient=新对象系统.Net.WebClient $WebClient.DownloadFile(“http://ftpname/archive*.tar“,”C:\archive.tar“ 我收到错误:远程服务器返回错误:(404)未找到。 我做错了什么?阅读更多有关协议的信息以及的文档。一个GET应该给出准确的UR

我正在尝试从
ftp
下载扩展名为
.tar
的文件。tar文件的名称如下:
archive_432r2332234343432424342342.tar
我正在使用以下代码:

$WebClient=新对象系统.Net.WebClient
$WebClient.DownloadFile(“http://ftpname/archive*.tar“,”C:\archive.tar“

我收到错误:
远程服务器返回错误:(404)未找到。

我做错了什么?

阅读更多有关协议的信息以及的文档。一个
GET
应该给出准确的URL,没有任何
*
(所以没有)。此外,反斜杠可能需要转义(但我从未使用过PowerShell或Windows,所以我可能错了)

所以你可能需要

  $WebClient.DownloadFile("http://ftpname/archive_432r2332234343432424342342.tar",
                         "C:\\archive.tar")
如何找到准确的URL?在某些web服务器上(例如,适当配置的服务器),您可以执行
GEThttp://ftpname/
请求并获取程序稍后可以解析的页面。这是web服务器的约定和配置问题

显然,您需要不止一个HTTP请求。大概两个。第一个将查询web服务器以获取资源列表;你可以得到一些HTML5内容作为回复(里面有很多URL)。您的程序将解析HTML5内容,并对实际URL发出第二个HTTP请求


当然要知道,和HTTP是不同的协议。您需要了解s是什么。

谢谢您的快速回答。反斜杠不起作用。我无法下载全名文件(archive_432r2332234343432424342342.tar),因为432R2334343432424342342在一段时间后正在更改。正如我所解释的,您首先需要花几天时间阅读有关HTTP协议、URL以及FTP和HTML5的信息,然后需要修复代码。如果不了解Web相关技术,就无法合理地为Web编写程序。您可以尝试使用HTTP