• ベストアンサー

1行がやたら長いテキストをバッチ・コマンドから操る

こんにちは。 batファイル、コマンドプロンプトからファイルを操作するとき、1行がやたらと長いファイルが扱えなくて困っています。 びっしりとタグが書かれたテキストファイルなのですが、このファイルの中の /> を >\n (「\n」は改行)として事前に置き換え処理をすることはできるのでしょうか。改行を入れてやれば、後処理でループするときに楽になるのですが。 もしくは、1行が異常に長くても処理できる方法などあるでしょうか? for /f を使うと正しく反応してくれません。1行でメガ単位あるテキストなんですが・・・

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

  • ベストアンサー
  • teketon
  • ベストアンサー率65% (141/215)
回答No.3

OSの仕様で、コマンドプロンプトの1行における処理文字数に上限があったはずです。 他の言語からXMLファイルを処理するしか無いです。

tuktukrace
質問者

お礼

ありがとうございます。 やはりこんな尋常じゃない長さの1行を処理できませんよね。 WSHでXML整形してから処理をする方向で考えてみます。

その他の回答 (2)

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

バッチでは無理ですね。 VBScriptだとできるんじゃ無いかな。

tuktukrace
質問者

お礼

ありがとうございます。 ですね。いろいろ組み合わせて乗り切ろうと思います。 参考になりました。

回答No.1

perlがおすすめかなあと思います。 perlの特徴である正規表現、簡単に書ける、インタプリンタ が非常に問題にマッチします。 バッシュと同じくらいの難易度ではないかと思うので、試してみてはいがでしょうか

tuktukrace
質問者

お礼

ありがとうございます。 今回の件に限らず、perlができれば何かと便利ですよね。 10年以上前に、見よう見まねで掲示板スクリプトをいじったのが最初で最後でしたが、今年の年末あたりにperlを勉強しようと思います。 今回の件については、外部のプログラムに整形してもらってから処理に入るかたちにしようと思います。

関連するQ&A