2015-07-13 9 views
1

J'utilise la commande Start-BitsTransfer pour télécharger des ressources distantes dans des scripts PowerShell.Start-BitsTransfer ignore le nom de fichier lors de la redirection

Toutefois, il semble que la commande ne prenne pas le nom de fichier correct lorsque l'URL est une URL courte.

Par exemple, ces url: http://ligman.me/1IW1oab redirigent en fait http://download.microsoft.com/DOWNLOAD/D/6/7/D670D322-5771-409E-BF34-5B98496DEB0A/MICROSOFT_PRESS_EBOOK_INTRODUCING_AZURE_PDF.PDF (réponse HTTP).

Mais quand j'exécute

Start-BitsTransfer http://ligman.me/1IW1oab 

Le nom du fichier de résultat est 1IW1oab

Y at-il un moyen d'utiliser cette commande et obtenir le droit nom?

Répondre

1

simplement en utilisant la commande non, mais vous pouvez résoudre avant l'url tir de cette façon:

$url = 'http://ligman.me/1IW1oab'  
$WebClientObject = New-Object System.Net.WebClient 
$WebRequest = [System.Net.WebRequest]::create($URL) 
$WebResponse = $WebRequest.GetResponse() 
$ActualDownloadURL = $WebResponse.ResponseUri.AbsoluteUri 
$ObjectProperties = @{ 'Shortened URL' = $URL; 
         'Actual URL' = $ActualDownloadURL} 
$ResultsObject = New-Object -TypeName PSObject -Property $ObjectProperties 
$WebResponse.Close() 
$ResultsObject.'Actual URL'