【bat】バッチファイルでCSVファイルを読み込む方法

バッチファイルは、シンプルで効果的な方法でタスクを自動化するための強力なツールです。今回は、バッチファイルを使用してCSVファイルを読み込み、その内容を処理する方法をご紹介します。このガイドに従えば、初心者でも簡単にCSVファイルを操作できるようになります。

CSVファイルの準備

まず、読み込むCSVファイルを用意します。以下の例では、sample.csv という名前のファイルを使用します。内容は次の通りです。

Name,Age,City
Alice,30,New York
Bob,25,Los Angeles
Charlie,35,Chicago

このファイルには、名前、年齢、都市の情報が含まれています。

バッチファイルの作成

次に、CSVファイルを読み込むバッチファイルを作成します。以下のコードを read_csv.bat という名前のファイルに保存します。

@echo off
setlocal enabledelayedexpansion

REM CSVファイルのパス
set "csv_file=sample.csv"

REM CSVファイルを読み込む
for /f "tokens=1-3 delims=," %%a in (%csv_file%) do (
    set "Name=%%a"
    set "Age=%%b"
    set "City=%%c"

    REM 各行のデータを表示
    echo Name: !Name!
    echo Age: !Age!
    echo City: !City!
    echo ---------------
)

endlocal

バッチファイルのコード解説

このバッチファイルは以下のように動作します。

  1. @echo off:
    コマンドプロンプトの出力を抑制します。
  2. setlocal enabledelayedexpansion:
    遅延環境変数展開を有効にし、ループ内で変数を更新および表示できるようにします。
  3. set “csv_file=sample.csv”:
    読み込むCSVファイルのパスを設定します。
  4. for /f “tokens=1-3 delims=,” %%a in (%csv_file%) do (:
    CSVファイルを行ごとに読み込み、カンマを区切り文字として各行をトークンに分割します。この例では、各行の最初の3つのカンマ区切りの値を %%a, %%b, %%c として読み取ります。
  5. set “Name=%%a”, set “Age=%%b”, set “City=%%c”:
    トークンの値を変数 Name, Age, City に格納します。
  6. echo コマンド:
    各変数の値を表示します。
  7. endlocal:
    setlocal により設定された環境変数のスコープを終了します。

まとめ

このガイドでは、バッチファイルを使ってCSVファイルを読み込み、その内容を処理する方法を紹介しました。バッチファイルを利用することで、手動でのデータ処理を自動化し、効率的に作業を進めることができます。ぜひ、実際に試してみてください。