• ベストアンサー

[バッチファイル]一致した次の単語を出力したい

コマンドの実行結果の標準出力をリダイレクトしてテキストファイルに書き出しました。 このファイルを読み取り、マッチした文字列の次の単語を出力したいのですが、 標準のDOSコマンド(あるいはコマンドラインで動作するフリーソフトを使用するのでも構いません。※perlなどのスクリプトや、複雑で習得の難しいもの、コマンドプロンプト拡張などは無しでお願いします)で実現するにはどうすれば良いでしょうか? テキストファイルの内容例 hogehoge: abcdefg この場合、"hogehoge:"で検索し、abcdefgを出力したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

最初、「一致した次の行」かと思ったのですが、「次の語」なのですね。 任意のファイルが対象だと、バッチファイル機能だけでは不可能です。 ファイル中に " (二重引用符)が無いという前提で、 @echo off for /f "delims=" %%A in (inputfile.txt) do call :sub "%%~A" goto :EOF :sub set "A=%~1" set "B=%A:*hogehoge=%" if not "%A%" == "%B%" for /f %%B in ("%B%") do echo %%B 二重引用符がファイルに含まれるなら無理です。

BLACK69
質問者

お礼

回答ありがとうございます とりあえずこの方法でやってみます。

関連するQ&A