• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データ抽出のご質問)

データ抽出のバッチファイル作成方法

このQ&Aのポイント
  • 1つのフォルダ内に複数のテキストファイルがあり、指定した行とその行の3番目〜5番目の文字を抽出する方法について教えていただきたいです。
  • フォルダ内の情報は、フォルダ名「folder」内にあります。ファイル名は「testX.txt」や「textY.txt」で、ファイルの中身は1行目から4行目までのテキストです。
  • 具体的には、2行目の「ccc」と「qqq」の抽出方法を知りたいです。質問にお答えいただけると嬉しいです。

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

  • ベストアンサー
  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.2

この質問ならバッチファイルの達人が現れてすぐに解決、と思っていたのですがなかなか現れないので回答させて頂きます。 @ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION SET /A LN=%2 SET /A LN-=1 SET /A SP=%3 SET /A SP-=1 IF "%LN%" GTR "0" ( SET LS=SKIP=%LN% ) ELSE ( SET LS= ) FOR %%F IN (%1) DO ( SET F1=%%F CALL :SUB1 SET VAR1=!VAR1:~%SP%,%4! ECHO !VAR1! ) ENDLOCAL GOTO ENDOFTHISFILE :SUB1 FOR /F "%LS% TOKENS=*" %%T IN (!F1!) DO ( SET VAR1=%%T EXIT/B ) :ENDOFTHISFILE 使い方ですが、上記のバッチファイルのファイル名がextract1.bat、処理するテキストファイルがあるフォルダがd:\txtであるとすると、 extract d:\txt\*.txt 2 3 3 としてください。 引数の3つの数字は、2行目の3文字目から3文字を抽出して表示、という意味です。 動作確認は Windows XP SP3 で行いました。 私もこんなに複雑なバッチファイルを書くのは初めてなのでよくわからず苦労しましたが、パッチファイルって意外といろいろ出来るのですね。 でも、他のプログラミング言語やテキスト処理ツールが使えるならそういうものを使った方がよさそうな気がします。

Ledondo
質問者

お礼

遅くなりましたがありがとうございます。 参考にさせて頂きます。

その他の回答 (1)

noname#192382
noname#192382
回答No.1

エクセルファイルのデータならマクロで容易にできる問題です。ではテキストファイルをどうやってエクセルファイルに変換するかですが、データとデータの間がTABキーで区切られていれば、コピー&ペーストでテキストデータがエクセルデータに変換できます。

関連するQ&A

専門家に質問してみよう