PowerShell GitHubのファイルをダウンロードするスクリプト例

Git でバージョン管理しているリポジトリをオンラインで利用できるウェブサービス GitHub で、リポジトリのファイルPowerShellスクリプトを用いてダウンロードする例を紹介します。
GitHub のリポジトリのファイルのダウンロード用の URL を取得する方法についても紹介します。
※例では GitHub の自身のリポジトリの README.md をダウンロードします。

PowerShell GitHub リポジトリのファイルをダウンロードするスクリプト例4

※ 2025 年 8 月 10 日現在の情報です。
※ Windows PowerShell PSVersion 5.1.19041.6093 を使用します。

GitHub リポジトリのファイルのダウンロード用の URL

GitHub のリポジトリのファイルを選択したページの Download raw file ボタンを押すことでダウンロードできます。

PowerShell GitHub リポジトリのファイルをダウンロードするスクリプト例1

それをスクリプトで行う場合 URL が必要になります。
テキストファイルの場合、Download raw file ボタンの左側にある Raw ボタンを押すと「https://raw.githubusercontent.com」から始まるダウンロードに使用できる URL に移動します。

PowerShell GitHub リポジトリのファイルをダウンロードするスクリプト例2

自身の SakuraCrowdGodotLib リポジトリの README.md ファイル以下の URL から取得できます。
※ Raw ボタンを押して移動した URL です。

https://raw.githubusercontent.com/sakura-crowd/SakuraCrowdGodotLib/refs/heads/release/github-0.1/README.md

バイナリデータの場合は raw ボタンのかわりに view raw ボタンをクリックすると、ダウンロード用の URL に移動します。

  • テキストファイルの場合は、rawボタンをクリックするとrawデータが表示されるので、そのURLを以下のようにcurlで指定すれば良い。
  • バイナリデータの場合は、view rawをクリックして、そのURLを以下のようにcurlで指定すれば良い。
github上のファイルをコマンドラインから取得する #GitHub – Qiita

PowerShell でダウンロードするスクリプト例

GitHub のリポジトリのファイルのページにある raw / view raw ボタンでアクセスした URL を用いて、 PowerShell でファイルをダウンロードするスクリプト例は以下です。

Invoke-WebRequest -Uri "ダウンロード用の URL" -OutFile "保存するファイル名"

Gets content from a web page on the internet.

インターネット上の Web ページからコンテンツを取得します。

-Uri
Specifies the Uniform Resource Identifier (URI) of the internet resource to which the web request is sent. Enter a URI. This parameter supports HTTP or HTTPS only.

Web リクエストの送信先となるインターネット リソースの URI (Uniform Resource Identifier) を指定します。 URIを入力します。このパラメータは HTTP または HTTPS のみをサポートします。

-OutFile
By default, Invoke-WebRequest returns the results to the pipeline. When you use the OutFile parameter, the results are saved to the specified file and not returned to the pipeline. Enter a path and filename. To send the results to a file and to the pipeline, add the PassThru parameter.

デフォルトでは、Invoke-WebRequest は結果をパイプラインに返します。 OutFile パラメーターを使用すると、結果は指定されたファイルに保存され、パイプラインには返されません。パスとファイル名を入力します。結果をファイルとパイプラインに送信するには、PassThru パラメーターを追加します。

Invoke-WebRequest (Microsoft.PowerShell.Utility) – PowerShell | Microsoft Learn と Google 翻訳

先ほどの README.md ファイルの URL から、 README.md というファイル名で保存する場合は、以下のスクリプトを実行します。

Invoke-WebRequest -Uri "https://raw.githubusercontent.com/sakura-crowd/SakuraCrowdGodotLib/refs/heads/release/github-0.1/README.md" -OutFile "README.md"

PowerShell を起動して、カレントディレクトリをダウンロード先のフォルダに移動します。
※ Windows 10 の場合、エクスプローラアドレスバーpowershell⏎ と入力することで、そのフォルダをカレントディレクトリにして PowerShell を起動できます。

PowerShell GitHub リポジトリのファイルをダウンロードするスクリプト例3

先ほどのスクリプトコピーPowerShell アプリに貼り付けEnter キーで実行すると、フォルダ内に README.md ファイルダウンロードできました

PowerShell GitHub リポジトリのファイルをダウンロードするスクリプト例4

以下は実行したスクリプトと、PowerShell のバージョンを出力する $PSVersionTable の結果です。

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6  

PS G:\Dev\PowerShell\Download-GitHub-Repository-File\1> Invoke-WebRequest -Uri "https://raw.githubusercontent.com/sakura-crowd/SakuraCrowdGodotLib/refs/heads/release/github-0.1/README.md" -OutFile "README.md"
PS G:\Dev\PowerShell\Download-GitHub-Repository-File\1> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.19041.6093
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.6093
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1


PS G:\Dev\PowerShell\Download-GitHub-Repository-File\1>

まとめ

今回は、 Git でバージョン管理しているリポジトリをオンラインで利用できるウェブサービス GitHub で、リポジトリのファイルPowerShellスクリプトを用いてダウンロードする例を紹介します。
GitHub のリポジトリのファイルのダウンロード用の URL を取得する方法についても紹介します。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました