• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチにてforでiniファイルのパラメータ取得)

バッチでiniファイルのパラメータを取得する方法

このQ&Aのポイント
  • バッチでiniファイルのパラメータを一度に取得する方法を教えてください。
  • 現在、forループを使用して一つずつパラメータを取得しようとしていますが、うまくいきません。
  • 三つのパラメータを一度に取得するための効果的な方法があれば、教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

for処理中の環境変数の参照は、実行時に一回だけ展開されます。そのため、質問者さんの記述では、for実行時の変数状態を元に > set kind[1]=%%J > set /A a=1+1 を3回実行することになります。 こういう場合は、遅延環境変数の展開を使います。 ---ここから--- setlocal enabledelayedexpansion set a=1 for /f "skip=1 delims=: tokens=1-2" %%I in (a.ini) do ( set kind[!a!]=%%J set /A a=!a!+1 ) ---ここまで--- としてみてください。 %a%は、環境変数aのfor実行開始時の値で一回だけ置き換えられますが、 !a!は、環境変数aの値がfor内で毎回展開されます 詳しくは、遅延環境変数の展開について調べてみてください。 http://www.google.co.jp/search?q=%92x%89%84%8A%C2%8B%AB%95%CF%90%94%82%CC%93W%8AJ

falcomfans
質問者

お礼

うまく行けました。本当にありがとうございます。

関連するQ&A