Ladda hem "redirected urls" via PowerShell

Trädvy Permalänk
Medlem
Registrerad
Maj 2007

Ladda hem "redirected urls" via PowerShell

Hejsan,

Jag försöker bygga ihop ett script som laddar hem senaste versionen av vissa program och sen gör en tyst installation, men jag har lite problem med att ladda hem filer med omdirigerade länkar, som ex. 7-Zip nedanför.

$FileName = Split-Path $RURL -Leaf
$URL=Invoke-WebRequest https://sourceforge.net/projects/sevenzip/files/latest/downlo... -MaximumRedirection 0
$RURL = $URL.Links | Where {$_.innerText -eq "direct link"} | Select -Expand href
Invoke-WebRequest $RURL -OutFile $PSScriptRoot\$FileName

Denna fungerar inte alltid då href ändras, vissa gånger är den slutgiltiga länken:
./7z1600.exe (då fungerar den)

Och vissa gånger ser en ex. ut så här:
./7z1600.exe?r=&ts=1463239967&use_mirror=vorboss (och när den blir så här så går det inte att skriva till disken).

Så jag vet ju att problemet uppstår pga. $FileName, är det någon som kan tipsa om en bra metod för att ex. ta bort all text efter filändelsen .exe eller .msi?

Mvh,
Dallen

Trädvy Permalänk
Medlem
Registrerad
Maj 2007

Aha, detta fungerar!

$FileName = Split-Path $RURL.Substring(0,$RURL.IndexOf('?')) -Leaf

Trädvy Permalänk
Medlem
Registrerad
Maj 2007

Om någon annan är lat så kommer här mitt script för att ladda ner lite filer

https://github.com/Dalle85/PowerShell/blob/master/LazyScript....

Mvh,
Dalle