Windowsで複数のファイルを一度にまとめてダウンロードする方法

Windowsで複数のファイルを一度にまとめてダウンロードするには、テキストファイルの各行にファイルの直接URLを1つずつ記述し、PowerShellを使用してファイルを1つのフォルダに保存します。組み込みのワークフローにより、クリックの繰り返しが回避され、失敗したリンクも記録されるため、後で確認できます。

以前の記事では別の大量ダウンロードユーティリティが紹介されていましたが、そのダウンロード元と現在のWindowsとの互換性は確認できませんでした。このガイドでは、代わりにWindows PowerShellとMicrosoftの最新のドキュメントを使用します。

フォルダと直接リンクのリストを用意してください。

  1. Documentsフォルダ内にBulkDownloadという名前のフォルダを作成します。その中に、という名前のプレーンテキストファイルを作成しますurls.txt。
ファイルエクスプローラーに、ドキュメントフォルダ内に作成されたBulkDownloadフォルダが表示されている。
URLリストとダウンロードしたファイル専用のフォルダを作成してください。
  1. メモ帳で開きurls.txt、1行に1つの直接ファイルURLを貼り付けてください。直接リンクは、ZIPアーカイブや画像などのファイルへのリンクです。ダウンロードボタンを含むページへのリンクは、代わりにウェブページを保存する場合があります。空白行は無視されます。以下のexample.orgのアドレスはプレースホルダーであり、ダウンロードは機能しません。
メモ帳にurls.txtにexample.orgの直接ファイルURLが4つ表示されている。
各行にファイルの直接URLを1つだけ記載してください。プレースホルダーリンクは、ダウンロードが許可されているURLに置き換えてください。

アクセス権限のあるリンクを使用し、宛先に十分な空き容量があることを確認してください。サーバーによっては、自動リクエストをブロックしたり、ログインセッションを要求したり、ファイルの取得速度を制限したりする場合があります。

PowerShellを使用してリストをダウンロードします

  1. 同じフォルダ内にdownload.ps1メモ帳で以下のスクリプトを作成します。このスクリプトを貼り付けて保存してください。このスクリプトはdownloadsサブフォルダを作成し、重複するファイル名に番号を追加することで既存のファイルを安全に保ち、失敗したURLを別のテキストファイルに書き込みます。
$urls = @(Get-Content -LiteralPath .\urls.txt |
    ForEach-Object { $_.Trim() } |
    Where-Object { $_ -ne '' })

$destination = Join-Path $PWD 'downloads'
New-Item -ItemType Directory -Path $destination -Force | Out-Null
$failed = @()

for ($i = 0; $i -lt $urls.Count; $i++) {
    $url = $urls[$i]
    try {
        $uri = [uri]$url
        if ($uri.Scheme -notin @('http', 'https')) {
            throw 'Only HTTP and HTTPS URLs are supported.'
        }

        $name = [System.IO.Path]::GetFileName(
            [uri]::UnescapeDataString($uri.AbsolutePath)
        )
        if ([string]::IsNullOrWhiteSpace($name)) {
            $name = "download-$($i + 1)"
        }
        $name = $name -replace '[<>:"/\\|?*]', '_'

        $baseName = $name
        $suffix = 1
        while (Test-Path -LiteralPath (Join-Path $destination $name)) {
            $name = "$suffix-$baseName"
            $suffix++
        }

        $path = Join-Path $destination $name
        $request = @{
            Uri = $uri.AbsoluteUri
            OutFile = $path
            ErrorAction = 'Stop'
        }
        if ($PSVersionTable.PSVersion.Major -eq 5) {
            $request.UseBasicParsing = $true
        }
        Invoke-WebRequest @request
        Write-Host "Saved $name"
    }
    catch {
        $failed += $url
        Write-Warning ("Failed: {0} -- {1}" -f $url, $_.Exception.Message)
    }
}

$failed | Set-Content -LiteralPath .\failed-urls.txt -Encoding UTF8
if ($failed.Count -gt 0) {
    Write-Warning "$($failed.Count) URL(s) failed. See failed-urls.txt."
} else {
    Write-Host "$($urls.Count) file(s) downloaded."
}

Invoke-WebRequest-OutFile各応答をファイルとして保存するために使用します。このスクリプトは-UseBasicParsing、Windows PowerShell 5.1 で実行されると追加されます。PowerShell 7 では、デフォルトで安全な解析が使用されます。Microsoft は、2025 年 12 月にリリースされた更新プログラムで導入されたセキュリティ確認プロンプトを回避するために、Windows PowerShell 5.1 でスイッチを使用することを推奨しています。Microsoftの Invoke-WebRequest リファレンスとPowerShell 5.1 セキュリティガイダンスを参照してください。

ファイルエクスプローラーでBulkDownloadフォルダーを開き、urls.txtファイルを表示する。
URLリストとPowerShellスクリプトは、作業フォルダ内にまとめて保存してください。
Windows PowerShellでurls.txtから読み取ったURLを表示する
バッチ処理を開始する前に、PowerShellがURLリストを読み取れることを確認してください。

バッチを実行して結果を確認してください

  1. ファイルエクスプローラーで BulkDownload フォルダーを開きます。利用可能な場合は「ターミナルで開く」を選択するか、Windows PowerShell を開いてフォルダーに移動しますSet-Location -LiteralPath "$env:USERPROFILE\Documents\BulkDownload"。でリストを確認しGet-Content .\urls.txt、を実行します.\download.ps1。スクリプトが組織の実行ポリシーによってブロックされている場合は、マシン全体の設定を弱めないでください。管理者に問い合わせるか、確認済みのコマンドを対話型 PowerShell セッションに貼り付けてください。
  2. プロンプトが戻るまでウィンドウを開いたままにしてください。正常に保存されたファイルは に保存されdownloads、コンソールには各ファイルに対して「保存済み」という行が表示されます。いくつかのファイルを開いて、ファイルが完全に保存され、期待どおりのファイル形式になっていることを確認してください。
PowerShellで3つのファイルのダウンロード成功ステータス行を表示
PowerShellは保存した各ファイルを報告し、キューの処理が完了するとプロンプトに戻ります。
ファイルエクスプローラーにダウンロードフォルダ内のZIPアーカイブとJPGファイルが表示されている。
ダウンロードされたファイルは、ダウンロードサブフォルダに保存されます。

リンク切れを修正し、ファイルの上書きを回避します。

URL が 404 エラーを返す場合、ファイルが移動したか、リンクの入力ミスがある可能性があります。403 エラーまたはサインイン ページは通常、サーバーが権限を要求するか、スクリプトが持っていないブラウザ セッションが必要であることを意味します。ブラウザでリンクを開き、サイトが提供している場合は実際のファイル URL をコピーして、更新しますurls.txt。スクリプトは個々の失敗の後も続行し、失敗したリンクをに保存しますfailed-urls.txt。

PowerShellが404エラーを報告し、failed-urls.txtが保存されたことを確認しました。
リクエストが失敗した場合でも、残りのURLの処理は停止されません。
メモ帳に、failed-urls.txt 内の example.org ファイルの URL の失敗が表示されている。
failed-urls.txt を確認し、リンクを修正して、必要に応じてキューに戻してください。

このシンプルなバッチ処理では、ファイルを1つずつダウンロードします。ブラウザや並列ダウンロードマネージャよりも高速なダウンロード速度を保証するものではありません。非常に大きなキューでは時間がかかる場合があるため、ホストのレート制限と利用規約を遵守してください。一時的なアクセストークンを含むURLはプライベートファイルへのアクセスを許可する可能性があるため、ファイルはurls.txt非公開failed-urls.txtにしてください。URLがクエリ文字列でファイル名を隠している場合、スクリプトはファイル名をdownload-1または類似の名前で保存する可能性があります。ファイルの内容を確認した後、ファイル名を変更してください。

コメントを残す

FotoSketcherで写真を絵画、スケッチ、漫画に変換

FotoSketcherで写真を絵画、スケッチ、漫画に変換

FotoSketcher Studioを使えば、写真を絵画、鉛筆画、漫画に変換できます。エフェクトの選択方法、プレビューの調整方法、作品の保存方法を学びましょう。

オーディオ識別ツールで音声ファイルを詳細に分析・識別する

オーディオ識別ツールで音声ファイルを詳細に分析・識別する

オーディオ識別子がビットレート、エンコーダー、タグについて何を明らかにするのか、従来のワークフローがどのように機能するのか、そして現在利用可能なツールの中で、ファイルの検査や楽曲の識別に使えるものはどれなのかを学びましょう。

My Photo Index:Windows用オープンソース写真整理ツール

My Photo Index:Windows用オープンソース写真整理ツール

My Photo Indexは、ローカル画像のタグ付け、評価、閲覧を行うための、Windows向けの旧来の写真カタログツールです。その機能、互換性の制限、および現在もサポートされている代替ツールについてご確認ください。

Attribute Changerを使用してファイルとフォルダの属性、日付、時刻を変更する

Attribute Changerを使用してファイルとフォルダの属性、日付、時刻を変更する

Attribute Changerを使用して、Windowsファイルの属性とタイムスタンプを編集したり、JPEG EXIF写真の日付を更新したり、バッチ変更を安全にプレビューしたりする方法を学びましょう。

Windows 10で各モニターに異なる壁紙を設定する方法

Windows 10で各モニターに異なる壁紙を設定する方法

Windows 10の各モニターに個別の壁紙を設定し、ディスプレイを識別し、画像のフィットを調整し、モニターの選択肢が見つからない場合のトラブルシューティングを行います。

pViewer:最小限の画像ビューアとマンガ&コミックリーダー

pViewer:最小限の画像ビューアとマンガ&コミックリーダー

pViewerの機能、写真モードとコミックモードの仕組み、ダウンロードすべきWindows版、そして旧バージョンと改訂版の違いについて学びましょう。

NeoDownloader:パラメータ設定とウェブサイトからの画像の一括ダウンロード

NeoDownloader:パラメータ設定とウェブサイトからの画像の一括ダウンロード

NeoDownloaderプロジェクトの作成方法、クロール範囲の選択方法、画像フィルタと保存先の設定方法、バッチダウンロードの確認方法を学びましょう。

Windows 7および8でホットキーを使って次のデスクトップ背景に切り替える方法

Windows 7および8でホットキーを使って次のデスクトップ背景に切り替える方法

Windows 7または8用のスライドショーを設定し、簡単なVBScriptショートカットを作成して、キーボードショートカットキーを割り当てて次の壁紙に進めるようにします。

XnConvert:エフェクトの適用と画像フォーマットの一括変換

XnConvert:エフェクトの適用と画像フォーマットの一括変換

XnConvertを使えば、エフェクトの適用、写真のリサイズ、画像フォーマットの一括変換が可能です。出力設定の選択、編集内容のプレビュー、オリジナル画像の保護も行えます。

PickMeApp: 保存された設定でWindowsプログラムを転送する

PickMeApp: 保存された設定でWindowsプログラムを転送する

PickMeAppを使って、インストール済みのWindowsアプリケーションを別のPCに移行しましょう。TAPパッケージの仕組み、設定の取得方法、転送できない可能性のある項目について学びます。