- ベストアンサー
バッチの変数について
バッチファイルを作っているのですが、 FOR文でcsvのデータを取り込もうと思っています。 しかし列数が27あり、%%a~%%zでは足りなくなってしまいました。 %%zの次はあるのでしょうか? それとも26列が限界なのでしょうか? ご存知の方は、御教示願います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どこまでいけるか試してみると、限界は31のようです。tokens=1-31はOKだがtokens=1-32はNG。 変数は、 %%A ... %%Z %%[ %%\ %%] %%^^ %%_ とか。27番以降は文字コード順に英字以外の文字も使えます。 どんな文字が使えるかは、http://e-words.jp/p/r-ascii.html など参照。 ただし、コマンドプロンプトの特殊文字は、^ を前置する必要があります。%%^^ とか それ以上あるのなら、 for /f "tokens=1-31* delims=," %%A in (file) do for /f "tokens=1-30 delims=," %%a in ("%%`") do .... のように、一旦 %%` に32項目以降を全部入れて、次にそれを分解する。 これで、%%A .. %%Z %%[ %%\ %%] %%^^ %%_ %%a .. %%z %%{ %%^| %%} %%~ の61項目使えます。%%! とか使えばもっと。
その他の回答 (1)
- Cupper
- ベストアンサー率32% (2123/6444)
回答No.1
変数は任意に作成できますよ 例: %%aa %%parameter1