ループで取得した行番号に基づいて、行をファイルに抽出する必要があります。実際、最初の FOR コマンドから 7 行目を取得しました。これまでのところ非常にうまくいっているので、この行を myfile.txt に読み込む必要があります。読み取り操作は 2 番目の FOR ループで実行されます。出力「result.txt」が空になるため、この手順は機能しません
for /f "tokens=1* delims=:" %%a in (lines.txt) do set line=%%a& goto breakFor "%line%"
:breakFor
echo.%line%
for /f "tokens=*" %%a in ('findstr /n .* "myfile.txt"') do if "%%a"=="%1" set line=%%i
echo.%line%>result.txt
これは myfile.txt と lines.txt の一部です
lines.txt
7:I=output7
515:I=output515
837:I=output837
851:I=output851
myfile.txt is made of lines of text (I1,I2,I3,...)
I1=some text....
I2=text...
理由を教えてください。それを修正するのに役立ちますか? ありがとう