2016-08-31 18 views
-1

私は100個のURLで構成されるテキストファイルを持っています。これらのURLには別のインストーラファイル(.exe、.msi、.bat、.txtなど)が含まれています。powershellを使用して複数のファイルをURLからダウンロードする

Invoke-WebRequestを使用してこれらのファイルをローカルマシンにダウンロードする必要があります。しかし、出力パスにファイルの拡張タイプを指定せずにファイルをダウンロードするにはどうすればよいですか?

FILE.TXT:

https://foo.com/path/to/file.exe?token=ahcdj009a 
https://foo.com/path/to/file.msi?token=ansjndhkg 
https://foo.com/path/to/file.lpr?token=553dndgbs 
https://foo.com/path/to/file.txt?token=amnewa453 
...etc   

どのように起動-WebRequestクラスPowerShellコマンドを使用してWindowsのローカルマシン上でのURLからすべてのファイルをダウンロードしますか?

+2

可能な複製を(のhttp:// stackoverflowの.com/questions/25125818/powershell-invoke-webrequest-how-to-automatically-use-original-file-name)とhttp://stackoverflow.com/questions/23398479/download-multiple-files-from-http-適切な名前を持つpowershell-with-proper-nameとhttp://stackoverflow.com/questions/38599653/download-files-from-the-internet-using-powershell-and-retain-file-nameを使用して – TessellatingHeckler

答えて

0

パターンがこのように続く場合(。+ファイル拡張子+?)、$ fileExtはファイル拡張子ですが、この2つの行を使用できます。希望を少し助ける:)

$d -match "\.(\w+)\?" 
$fileExt = $matches[1] 
0

私はただiwrを使いたいと思う。ファイルをダウンロードするために何かを使用する必要があります。 Start-BitsTranferが動作するはずです。

あなたは、たとえば、すべてのリンクされた画像をダウンロードしたい場合は、この試すことができます:[自動的に元のファイル名を使用する方法、PowerShellの起動-WebRequestクラス?]の

$URL = "http://www.website.com" 

$Site = iwr -Uri $URL 

$Images = ($Site).Images.src 

foreach ($Image in $Images) { 

Start-BitsTransfer -Source $Image -Destination C:\Test\ -TransferType Download 

} 
関連する問題