バッチファイル(.bat)で設定ファイル(.ini)を使う方法
ども、k69 です。
一発でPCの開発環境構築をするためにバッチ(.bat)を作っていると
- コマンドプロンプトを「管理者として実行」(起動)しないとできないことがある ← 対応策はこちら
- ”ユーザ名”などの利用者毎に異なる情報は設定ファイル(ini)にしたい ★ 今回はこれ
- コマンドプロンプトを再起動しないと設定が反映されないことがある
など、ちょいちょい課題が出てきました。
じゃ、「今回は”ユーザ名”などの利用者毎に異なる情報は設定ファイル(ini)にできないかやってみよう!」と
ウニウニしたのがこの記事です。
対象読者
- バッチファイル(.bat)でみんなにラクさせたい人(ラクしたい人)
- バッチファイル(.bat)で”ユーザ名”など利用者毎に異なる情報を設定ファイル(ini)にまとめてみたい人
前提条件
- WindowsPCの人
- git-bashがインストールされている人
手順
1. はじめに
今回はバッチファイル(02_config.bat)から設定ファイル(.ini)を呼び出すようにします。
1. 設定ファイル(00_setting.ini)を作成します
ここではGitに登録するメールアドレスとユーザ名を登録します。
設定ファイル
GIT_USER_EMAIL=hoge@hoge.com
GIT_USER_NAME=hoge
2. バッチファイル(02_config.bat)を作成します。
バッチファイル(02_config.bat)を設定ファイル(00_setting.ini)と同じディレクトリに作成します。
ポイントはcd /d %~dp0
これがあればダブルクリックされたディレクトリがバッチ処理内でカレントとなり、「設定ファイルが見つかりません」という事態を防ぐことができます。
コマンド
@echo off
setlocal enabledelayedexpansion
cd /d %~dp0
for /f "tokens=1,* delims==" %%a in (00_setting.ini) do (
set %%a=%%b
)
REM gitの情報を登録
git config --global user.email "%GIT_USER_EMAIL%"
git config --global user.name "%GIT_USER_NAME%"
REM gitの情報を確認
git config user.email
git config user.name
pause
3. バッチファイル(02_config.bat)をダブルクリックします。
設定ファイル(00_setting.ini)で設定した内容が表示されました。
まとめ
今回のやり方を使えば、『バッチファイルから設定ファイル(.ini)を呼び出す』ことができるので、”ユーザ名”などの利用者毎に異なる情報を設定ファイル(ini)にまとめることができそうです。
参考URL
- 【bat】外部ファイルの変数と値を読み込んで使用する
https://qiita.com/mik_claire/items/ec7ecc9a005f440fd7f0