簡體   English   中英

PowerShell 從具有最新日期的列表中下載文件

[英]PowerShell Downloading Files from a List with the latest Date

我是使用 PowerShell 和腳本的新手,但我嘗試解決我的問題幾天了,即使在研究 stackoverflow 和 Web 時我也找不到解決方案。

我嘗試編寫一個腳本來從網站下載固定數量的文件(.jdb、.exe)。 文件名的一部分始終相同,例如:-061-IPS_IU_SEP_14RU1.jdb 但完整的文件名是 20201120-061-IPS_IU_SEP_14RU1.jdb

第一部分是創建文件的日期。 到目前為止,我能夠使用以下代碼下載所有文件:

$filename = @(
"-061-IPS_IU_SEP_14_0.exe",
"-061-IPS_IU_SEP_14_0.jdb",
"-061-IPS_IU_SEP_14_0_MP2.exe",
"-061-IPS_IU_SEP_14_0_MP2.jdb",
"-061-IPS_IU_SEP_14RU1.exe",
"-061-IPS_IU_SEP_14RU1.jdb",
"-061-IPS_IU_SEP_14.2_RU1.exe",
"-061-IPS_IU_SEP_14.2_RU1.jdb",
"-061-IPS_IU_SEP_14.2_RU2.exe",
"-061-IPS_IU_SEP_14.2_RU2.jdb"
)
# Zielverzeichnis
$output = "C:\IPS14\" 
$url = "http://definitions.symantec.com/defs/ips/"
$Date = Get-Date -format yyyyMMdd ((Get-Date).AddDays(0))

$fullurl = ("$url"  + $Date +  $filename[0])
    
        

for ($i=0; $i -lt $filename.Length; $i++){
    $fullurl = ("$url"  + ($Date-1) +  $filename[$i])
    Try{
   
    Start-BitsTransfer -Source $fullurl -Destination $Output
    Write-Host ("$url"  + $Date +  $filename[$i] + " Downloading")
}
Catch{}

當前的問題是某些文件不是每天更新的。 有些來自 1 天前,有些則是 3 天或更多天。 我只需要最新更新的文件。

好吧,因為下載文件不是我的問題,所以我嘗試了類似的方法

$IPSindex = 'https://definitions.symantec.com/defs/download/symantec_enterprise/ips/index.html'
(Invoke-WebRequest –Uri $IPSindex).Links   | Sort-Object href -Unique | Format-List innerText, href

列出頁面上的所有文件。 但現在我需要使用$filename數組過濾最新的 href。

Acutally我被困住了。 希望您能夠幫助我。

你好

我已修改您的代碼段以提取文件名的日期部分並將其轉換為日期時間數組。對日期時間數組進行排序以獲取最近的更新。

$IPSindex = 'https://definitions.symantec.com/defs/download/symantec_enterprise/ips/index.html'
$links = ((Invoke-WebRequest –Uri $IPSindex).Links).href
$dates =@()
foreach ($link in $links){
if($link -like "*IPS*"){
$dates += $link.split("/")[-1].split("-")[0]
}
}
$dates = $dates |Get-Unique | foreach {[datetime]::ParseExact($_,"yyyyMMdd",$null)} | Sort-Object -Descending

Write-Output "The latest available definition date: $($dates[0])"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM