
batファイルを作成していて、
txtから特定の行のみをとりだし、変数に入れたいです。
どうもよくわからないので質問したいと思います。
まず以下の様なテキストファイルがあります。
-------------------
111
222
333
-------------------
実際の値、行数は違いますが、こんな感じに文字列が複数行並んでいます。
行いたい動作は、
-----------------------------------------
1.テキストファイルの1行目を変数Textに入れる(set Text=111)
2.変数Textを使用し色々処理をする
3.テキストファイルの2行目を変数Textに入れる(set Text=222)
4.変数Textを使用し色々処理をする
-----------------------------------------
コレを繰り返します。
2と4は同じ動作ですので、行数のカウンタを設定しループさせる予定です。
n行目を全て取り出す方法がわかれば行けると思うのですが、
どうも見つかりません。ご存知の方がいればお教え願いたいと思います。
No.4ベストアンサー
- 回答日時:
No3ですが、たぶん提示したスクリプトを見ると、ある事に気がつくはず?
findstr /n /r "." a.txt | findstr /r "^3:"
で3行目を表示してくれます。え!? それだけ。そうなんです
ただ、あと、先頭の”3:” をどうやって切り離すか? と言う問題にぶつかる。さらにファイルに先頭に”3:”があった場合、どうするのか? さらに、findstr の正規表現の動作が??? 表示すれるのはいいが、変数にどうやってセットするのか?
となる。結局 for 文を使いまわす事になります。
まあ、適当に改変して、上記の問題を解決してください。
うーんファイルの先頭に3が来る可能性はありますね。コマンドプロンプトに慣れてなく、あまり複雑だとわからないのです・・・別の方法も考えてみます
No.3
- 回答日時:
No1, 2 さんが指摘しているようにちょっと趣旨がわからない。
>for /?
で見れば、わかるような話。とは言え、ランダムに行を表示したときは more コマンドで行数を指定すればいい。抜き出したいときは、適当なコマンドが標準では見つからない。で、
--- a.bat --------------------------------
@echo off
setlocal
set > a.txt
rem 3行目を line 変数にセット。
call :PicUp1 "3" "a.txt"
echo line=%line%
call :PicUp2 "3" "a.txt"
echo line=%line%
goto :EOF
:PicUp1
set /a No="%~1-1"
for /f "usebackq skip=%No% tokens=* delims=" %%a in (`findstr /n /r "." %2`) do (
set line="%%a"
exit /b 0
)
goto :EOF
:PicUp2
set /a No="%~1-1"
for /f "usebackq skip=%No% tokens=1,* delims=:" %%a in (`findstr /n /r "." %2`) do (
set line="%%b"
exit /b 0
)
goto :EOF
endlocal
------------------------------
などと擬似ユーザー定義関数を作るしかない。これで行数指定でピックアップできる。
No.2
- 回答日時:
本文を見る限りだと「任意の行」じゃなく「各行」に思えるんですが。
もしそうなら単にFORでできますがどうでしょうか。
https://www.google.com/search?q=%E3%83%90%E3%83% …
うーん任意だと思います。どこかを"1"とすれば1行目のみの読み込み、"3"とすれば3行目のみの読み込みがしたいです。実際はその数字の部分を変数に置き換え、処理が終わる事に+1加算していくつもりです。検索トップの下記リンクは行いましたが、これは単純に読み込むテキストファイルの各行全て表示されてしまいます。
http://ameblo.jp/mixtest/entry-10575297208.html
No.1
- 回答日時:
そちらのサイトの方法も行ったのですが、どうもできないです…1行目のみの取得はできたと思いますが、2行目以降の取得はどうすればいいのかわからないです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) 以下のVBAで該当文字列の前後に付与したい。 例 前に付与 abc ユーザーID 12345 後に付 3 2022/04/19 21:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/15 16:33
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
このQ&Aを見た人はこんなQ&Aも見ています
-
今年はじめたいことは?
今年はこれをはじめたい!ということを教えてください!
-
何回やってもうまくいかないことは?
みなさんには、何回やってもうまくいかないことはありますか?
-
あなたの「プチ贅沢」はなんですか?
お仕事や勉強などを頑張った自分へのご褒美としてやっている「プチ贅沢」があったら教えてください。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
バッチファイル 指定行の切り出し
その他(Microsoft Office)
-
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
テキストファイルから最終行の抽出
Windows Me・NT・2000
-
-
4
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
5
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
6
バッチで特定文字が含まれる先頭行を取得したい
Windows Me・NT・2000
-
7
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
8
バッチファイルを使ってテキストファイルの任意の行を削除したい
その他(プログラミング・Web制作)
-
9
バッチファイルで変数の中身をファイル出力したい
UNIX・Linux
-
10
*.txtファイルの最終行だけ参照して、バッチファイルを作りたい
UNIX・Linux
-
11
バッチファイルでテキストファイルの1行目だけ変更
その他(プログラミング・Web制作)
-
12
Windowsのバッチファイルを利用しtxtファイルの指定のした位置に文字を追加する方法
その他(プログラミング・Web制作)
-
13
txtファイルから特定の文字列が書かれた行だけを取得や削除するソフト
フリーソフト
-
14
バッチファイル 文字列にスペースがある場合
その他(プログラミング・Web制作)
-
15
Windowsのバッチファイルで正規表現の置換方法について…
Windows 10
-
16
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
17
テキストファイルの最終行を削除したいのですが
その他(プログラミング・Web制作)
-
18
○行目から□行目だけを表示するコマンド
UNIX・Linux
-
19
DOSコマンドのforで空白行をスキップしない
UNIX・Linux
-
20
echoの出力の最後のスペースを除去したい
iOS
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイルで昨日の日付を取得
-
バッチファイルでDirで取得した...
-
子バッチ内のキー入力処理へ自...
-
バッチファイルで常に最新の現...
-
コマンドプロンプト標準出力と...
-
IPアドレスの第3オクテットだ...
-
コマンドプロンプトでファイル...
-
DOSのバッチで、変数中のファイ...
-
バッチファイル ファイル内で改...
-
絶対パス名からファイル名を取...
-
ファイル名に日時挿入バッチフ...
-
コマンドプロンプト画面の閉じ...
-
Kシェルでgotoのような処理を作...
-
バッチファイルで2つ以上の変...
-
バッチファイル テキストファイ...
-
コマンドプロンプト(バッチ)...
-
コマンドプロンプト(バッチファ...
-
echoとsystem関数について
-
バッチファイルで文字列取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチでテキストファイルから...
-
コマンドプロンプト標準出力と...
-
バッチファイルで昨日の日付を取得
-
コマンドプロンプトで2ヶ月前3...
-
バッチファイルでDirで取得した...
-
コマンドプロンプト(バッチファ...
-
コマンドプロンプト画面の閉じ...
-
DOSのバッチで、変数中のファイ...
-
絶対パス名からファイル名を取...
-
バッチファイルで常に最新の現...
-
バッチファイル テキストファイ...
-
IPアドレスの第3オクテットだ...
-
WinMailCmdのバッチファイルに...
-
VBアプリケーションで終了コー...
-
呼び出し元バッチを知るには?
-
バッチファイルで2つ以上の変...
-
コマンドプロンプト(バッチ)...
-
子バッチ内のキー入力処理へ自...
-
batの変数を直接vbsのプログラ...
-
Excelで住所録を地域ごとに振り...
おすすめ情報