質問: バッチでテキストファイルから任意の行のみ取得したい batファイルを作成していて、 txtから特定の行のみをとりだし、変数に入れたいです。 どうもよくわからないので質問したいと思います。 まず以下の様なテキストファイルがあります。 ------------------- 111 222 333 ------------------- 実際の値、行数は違いますが、こんな感じに文字列が複数行並んでいます。 行いたい動作は、 ----------------------------------------- 1.テキストファイルの1行目を変数textに入れる(set text=111) 2.変数textを使用し色々処理をする 3.テキストファイルの2行目を変数textに入れる(set text=222) 4.変数textを使用し色々処理をする ----------------------------------------- コレを繰り返します。 2と4は同じ動作ですので、行数のカウンタを設定しループさせる予定です。 n行目を全て取り出す方法がわかれば行けると思うのですが、 どうも見つかりません。ご存知の方がいればお教え願いたいと思います。
回答: no3ですが、たぶん提示したスクリプトを見ると、ある事に気がつくはず? findstr /n /r "." a.txt | findstr /r "^3:" で3行目を表示してくれます。え!? それだけ。そうなんです ただ、あと、先頭の”3:” をどうやって切り離すか? と言う問題にぶつかる。さらにファイルに先頭に”3:”があった場合、どうするのか? さらに、findstr の正規表現の動作が??? 表示すれるのはいいが、変数にどうやってセットするのか? となる。結局 for 文を使いまわす事になります。 まあ、適当に改変して、上記の問題を解決してください。