※ ChatGPTを利用し、要約された質問です(原文:DOS:テキスト内の特定行の次行に文字列を追加)
DOSコマンドプログラムでテキストファイル内の特定文字列の次の行に文字列を追加する方法
このQ&Aのポイント
Windows7のDOSコマンドプログラムを使用して、テキストファイル内の特定文字列の次の行に指定した文字列を追加する方法を教えてください。
例えば、テキストファイル内で「Name:」という文字列を含む行がある場合、その行の次の行に「A1:10.2」という行を追加する方法を知りたいです。
特定文字列を含む行の次の行に文字列を追加する方法についての情報を教えてください。
DOSコマンドプログラムでテキストファイル内の特定文字列を含む行の次の行に、指定した文字列を含む行を挿入する方法
Windows7の DOSコマンドプログラムで、下記の"input1.txt" を"output1.txt"に変換したいと思っています。
"input1.txt"内で"Name:"を含む文字列があれば、その行の次の行に、"A1:10.2"という行を挿入するDOSコマンドプログラムをご教授いただけないでしょうか。見つけた文字列行の次の行に挿入する方法というのが、できなくて困っています。
---input1.txt------
Name: Tanaka
B1: H2
C1: 2
Comment: ABC# 61, Seq# M34
Num H: 3
12 37.97
13 105.90
14 203.82
Name: Suzuki
B1: H2
C1: 2
Comment: ABC# 58, Seq# M39
Num H: 2
11 37.97
12 105.90
Name: Yamada
B1: H2
C1: 2
Comment: ABC# 93, Seq# M397
Num H: 4
2 2.00
12 4.00
13 9.99
14 29.97
---------------
---output1.txt-----
Name: Tanaka
A1:10.2
B1: H2
C1: 2
Comment: ABC# 61, Seq# M34
Num H: 3
12 37.97
13 105.90
14 203.82
Name: Suzuki
A1:10.2
B1: H2
C1: 2
Comment: ABC# 58, Seq# M39
Num H: 2
11 37.97
12 105.90
Name: Yamada
A1:10.2
B1: H2
C1: 2
Comment: ABC# 93, Seq# M397
Num H: 4
2 2.00
12 4.00
13 9.99
14 29.97
-----------------
お礼
ありがとうございました。頂いたコードでうまくしょりできました。 空白行が処理できないので、下記のように改変してみました。":"の文字の操作があっているのかわからないのですが、なぜかうまくいきました。 =============== @echo off del output1.txt (for /f "delims=: tokens=1*" %%A in ('findstr /n "^" input1.txt') do ( echo.%%B echo .%%B | findstr Name: >NUL if not errorlevel 1 echo A1:10.2 ) ) > outout1.txt ================