• ベストアンサー

テキストファイルでの更に細かい抽出

おはようございます。前回、以下の質問をいたしました。その時は大変お世話になりました。 「テキストファイルに一行ずつ、バラバラの個人情報が入っているのですが (例:千葉県・東京都・茨城県・千葉県・群馬県・千葉県など) それを特定の一つだけを残したいのです。 (例:千葉県・千葉県・千葉県) その抽出方法を教えていただけませんでしょうか?」 この問題は皆さんの回答により、解決することができました。今回はこれより更に細かいものの抽出対象をしたいのです。 千葉県で抽出をすると、必要のない市まで抽出対象ででてきます。 それをコマンドプロンプトで千葉県を抽出する時に、必要のない特定の市を消す・または抜かすことはできますでしょうか? コマンドプロンプトで抽出した場合、テキストファイルの一行目と二行目の間に勝手に、 「□□□.TEXT」←抽出する前のファイル名 が作られてしまいます。 これをいちいち消すのが面倒くさいのです。 さらにその後開いて名前を付けて保存しなくてはならないのですが、デスクトップに「2005.06.11.dat」というように日付をダットファイルで保存できますでしょうか? 以上です。説明が下手で分かりにくいと思いますので、その都度、補足していきます。どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • doki2
  • ベストアンサー率51% (440/860)
回答No.3

例えば次のようなデータが「Source.txt」という名前でデスクトップにあるとします。 千葉県 要る 東京都 茨城県 千葉県 要らない1 群馬県 千葉県 要る 千葉県 要らない2 千葉県 要る 千葉県 要らない3 下記バッチファイルを作って実行してみてください。 :~~~~~~find001.batはじめ~~~~~~~ set curdir=%Userprofile%\デスクトップ set fname=%date:~0,4%-%date:~5,2%-%date:~8,2%.dat c: cd %curdir% type Source.txt | find /i "千葉" > temp.txt type temp.txt | find /v "要らない1" > temp1.txt type temp1.txt | find /v "要らない2" > temp2.txt type temp2.txt | find /v "要らない3" > %fname% notepad %fname% :~~~~~~find001.bat終わり~~~~~~~

sweetpig
質問者

補足

早速のご返事ありがとうございます。 かなりイメージに近いものができました。 それで、一つお聞きしたい事があります。 デスクトップ上に、datファイル以外に作成されるテキストファイル(tempとtemp1とtemp2)を作成されないようにしたいのですが、できますでしょうか? ご教授願います。

その他の回答 (2)

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

県単位で検索するから、要らない市町村が 抽出されるのですよね。 だったら、 最初から、市町村単位で検索する。 県単位で、検索した結果から、市町村単位 でさらに検索をする のいずれかで、いいですね。 前回とは、QNo.1437033ですよね。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

>前回、以下の質問をいたしました 番号でも挙げないと質問を見ているものにはわかりません。個人ごと質問の明細は照会できないと思います。 その過去の質問と関連があるようなので。 テキストファイルを話題にしているのですが、使うソフトはエクセルですか。 >千葉県で抽出をすると、必要のない・・・ このソフトは何ですか。MSDOSコマンドではないでしょね。 エクセルが使えるなら 一旦エクセルにテキストを読み込ませて、検索・抽出を行い、テキストに戻す手もありますが。

sweetpig
質問者

補足

回答、ありがとうございます。 ソフトはMS-DOSです。 前回の問題については詳細を明らかにせず、大変申し訳ございませんでした。