
バッチで一個のforでiniファイルのパラメーターを三つ取得したいですが。。。
a.iniファイルが存在しています。内容は:
パラメーター設定ファイル
会員コード:M1MM
ID:FUKI
パスワード:FUKI
バッチで、会員コード、ID、パスワード三つのパラメーターを取得したいですので、forを使用したいと思います:
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
)
echo %a[1]%,%a[2]%,%a[3]% >> 123.csv
ですが、aのカウントアップはうまくいかず、うまく三つのパラメーターを取得できません。for三回を使用すれば行けるはずですが、for一回でうまく取得できる方法が有りませんでしょうか?おしえてください。
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%C …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
バッチファイルの内容を表示さ...
-
[teraterm] waitコマンドで停止...
-
「読み取りと実行」と「読み取...
-
複数のbatファイルを自動実行し...
-
これってパソコンの最適化が完...
-
Excel(エクセル) VBA プロシー...
-
Access の VBA 実行中に他の操...
-
VBscriptが起動しない?
-
バッチで実行するVBScriptから...
-
PDFファイルを開き、印刷し、閉...
-
Windows System32 Security Hea...
-
VBScriptでコマンドプロンプト...
-
エクセル フォルダの画像を画...
-
メッセージを他のPCに出したい
-
exeファイルを実行するとコマン...
-
バッチファイルが不正終了して...
-
VBAでバッチファイルを1つ実行...
-
VBSでバッチを実行できません。
-
大至急お願いします。Pythonの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
[teraterm] waitコマンドで停止...
-
複数のbatファイルを自動実行し...
-
これってパソコンの最適化が完...
-
Windows System32 Security Hea...
-
「読み取りと実行」と「読み取...
-
バッチファイルの内容を表示さ...
-
VBscriptが起動しない?
-
exeファイルを実行するとコマン...
-
Access の VBA 実行中に他の操...
-
Excel(エクセル) VBA プロシー...
-
PDFファイルを開き、印刷し、閉...
-
ネットワーク名が見つかりません
-
pythonスクリプトを管理者権限...
-
エクセル フォルダの画像を画...
-
VBScriptでコマンドプロンプト...
-
Excel VBA ステップインが途中...
-
WSH.Run の処理内容をテキスト...
-
バッチファイルが不正終了して...
-
ExcelのVBAが特定のPC上でのみ...
おすすめ情報