PowerShell ダウンロードファイル
ユーザーは、重要なデータがある Web サイトから CSV ファイルをダウンロードできます。通常、統計情報を含む大きなファイルです。たとえば、以下の公開されているリンクを使用すると、ニュージーランド政府による 2021 年の年次企業調査の CSV ファイルをダウンロードできます。この記事では、次の CSV ファイルの URL を使用して、Windows PowerShell コマンドを使用して同様の機能を実行する方法を示します。
https://www.stats.govt.nz/assets/Uploads/Annual-enterprise-survey/Annual-enterprise-survey-2020-financial-year-provisional/Download-data/annual-enterprise-survey-2020-financial-year-provisional-csv.csv
Windows PowerShell はスクリプトソリューションであり、コマンドライン命令で実行され、Windows ユーザーに Unix ライクなコマンドラインベースのシステムと同様の柔軟性を提供します。さらに、Mac ユーザーは PowerShell のバージョンを利用できます(コマンドの使用は Windows とは少し異なります)。
通常の Web ブラウザーでは、URL は CSV ファイルをユーザーが指定したダウンロードフォルダーに問題なく直接ダウンロードします。PowerShell で同じ CSV をダウンロードしようとすると、特定のコマンドが必要になります。
Windows PowerShell を介してファイルをダウンロードする
Windows PowerShell を介してファイルをダウンロードするために使用できる基本的なコマンドは、Invoke-WebRequest
です。
このコマンドを使用して、Web 要求 PowerShell は Web 要求を開始します。次に、必要な URL が提供されます。
ここで注意すべき重要なことは、Web リクエストから取得したデータを保存するための出力ファイルの必要性です。最初に、データをダウンロードするファイルの種類のファイル形式を作成する必要があります。要件として、上記の URL から Web リクエストを介して渡されたデータを保存するための.csv タイプのファイルを作成します。
CSV だけでなく、他の種類のファイルもこの方法でダウンロードできることに注意する必要があります。
PowerShell で Invoke-WebRequest
を使用して CSV ファイルをダウンロードする
次に、Invoke-WebRequest
を次のように使用できます。
Invoke-WebRequest URL -OutFile File_path
ここで、-OutFile
はオンライン CSV ファイルからデータを保存するためのファイルになります。
以下に、サンプル URL を使用した完全な実行を示します。
Invoke-WebRequest https://www.stats.govt.nz/assets/Uploads/Annual-enterprise-survey/Annual-enterprise-survey-2020-financial-year-provisional/Download-data/annual-enterprise-survey-2020-financial-year-provisional-csv.csv -OutFile .\SaveCSV.csv
PowerShell の出力として、アクションが完了するまで実行されている以下のスクリプトが表示されます。
Writing web request
Writing request stream... (Number of bytes written: 33451654)
上記の実行の出力は、直接ダウンロードするファイルと同様です。
ただし、この Invoke-WebRequest
の使用には制約があります。Web サイトで単純なパスワードベースの認証が必要な場合は、ログインの詳細と Invoke-WebRequest
を含める必要があります。
Invoke-WebRequest URL -Add your lgin information- -SessionVariable MyNewSession
上記のストリームを実行すると、ダウンロードが完了するまで、以下のスクリプトが実行されます。
Writing web request Writing request stream... (Number of bytes written: 1474178)
次に、Web セッションを作成し、必要なファイルをダウンロードします。.cs
形式になり、.csv
形式に変更して、.csv
で読み取り可能な任意のアプリケーションで使用できるようにすることができます。
ただし、Web サイトで 2 要素認証、またはその他の多要素認証システムが必要な場合は、ここに示すように Web セッションを開始するのは面倒です。したがって、PowerShell を介してファイルをダウンロードするには、個人用リンク(個人用クラウドリンク-プライベートアクセス)を使用することをお勧めします。
したがって、上記のコマンドを使用して、PowerShell を介して CSV またはその他のファイルタイプを簡単にダウンロードできます。説明したように、正しい形式が考慮されている場合は使いやすい出力ファイルにするか、ファイルをダウンロードして t を読み取り可能な形式に変換します。
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.