首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell从FTP站点获取链接

PowerShell从FTP站点获取链接
EN

Stack Overflow用户
提问于 2017-03-24 14:07:55
回答 1查看 196关注 0票数 0

我试图创建一个从FTP站点的所有链接的列表。链接是用来下载zip文件。

我的最终目标是将每个链接分析为一个字符串,并将开头与一个集合短语相匹配。每个链接的末尾包含一个日期,我必须找到最新的一个下载。

在这个例子中,我想从这个列表中找到ABC_20170323.zip

  • ABC_20170323.zip
  • ABC_20160102.zip
  • EFG_20170324.zip

在分析之前,我需要弄清楚如何获取链接。我尝试过各种方法,唯一从站点返回任何信息的方法是收集源代码:

代码语言:javascript
复制
Invoke-WebRequest $sourceuri -UseBasicParsing -Credential $user

但是我发现很难从那里收集所有的链接。有谁有一种方法可以轻松获取这些文件下载链接?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-16 19:00:05

好吧,我知道已经很久了,但我想好了该怎么做。无可否认,这是一条艰难的道路。最终发生的事情是我收集了源代码并按如下方式保存:

代码语言:javascript
复制
$r = Invoke-WebRequest $sourceuri -UseBasicParsing -credential $user

然后,我将其转换为一个字符串,并使用-split通过它们的html标记和我所期望的开头样子(在本例中为‘ABC’)来分离链接:

代码语言:javascript
复制
$c = $r.ToString() #convert to string
$datelist = @()
$f = ($c -split 'A HREF="' -split '.zip</A>') #split by html tag (and .zip)
foreach($link in $f){
    if($link -match 'ABC') { #if the beginning of the link is 'ABC'
        $datelist += ($link.substring($link.Length-8)) #isolate the date on the end
    }
} #more logic for comparing $datelist items...

然后,我编写了一些逻辑,用于比较$datelist中的项(从答案中导出),并创建了一个变量,其中包含了我需要的所有组件:

代码语言:javascript
复制
$ExactLink = "ABC_$GreatestDate" + ".zip"

然后继续下载我需要的$ExactLink

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43001627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档