это довольно легко с invoke-webrequest
(PS V3)
$r=iwr http://asite.com/test2/ -UseBasicParsing
$r.Links |?{$_.href -match ".zip"}
, конечно, как + arco444 состояний, индекс каталог должен быть включить
Редактировать Чтобы получить последний измененный файл, вам придется проанализировать HTML, вот пример (регулярное выражение будет иметь чтобы быть addapted к вашей конфигурации):
[email protected]()
$link,$date,$size=""
$r=iwr http://asite.com/test2/
$r.ParsedHtml.body.getElementsByTagName('TR')|%{
$_.getElementsByTagName('TD') |select -expand innerHTML |%{
switch -regex ($_){
"(.)*zip"{ $link = $_;break}
"\d{2}-...-\d{4}(.)*"{$date=$_;break}
"^\d*[KM]" {$size=$_;break }
default{}
}
}
if($link -and $date -and $size){
$o=new-object -typename psobject |select -property "link","date","size"
$o.link=$link
$o.date=$date
$o.size=$size
$col+=$o
}
}
$col |select -unique "link","date","size" |sort -desc date |select -last 1
Вы можете взломать его вместе, если 'HTTP: // test.com/test' были индексы каталогов включен, но не«чистый»способ сделать это. – arco444
, если это FTP-сервер, почему бы не использовать протокол ftp? вы должны иметь возможность получить список каталогов через ftp из powershell. – Paul
Я не хочу иметь учетные данные как часть моего сценария, если я могу ему помочь. – mumbles