スポンサーサイト[スポンサー広告]

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2008/07/08(火)

BLOCKBLOGの記事を変換[自サイトのこと]

タグ: ブログ 忍者ブログ

BLOCKBLOGで書いた記事(2003年~2007年)は、ブラウザからHTML形式で保存してある。これを、忍者ブログでインポートしようと思っている。その際には、Movable Type形式への変換が必要だ。自分で変換ツールを作ろうとも思ったが、meglifeさんのところの、BBLog2MTを使わせてもらおう。

記事は約1,500件ある。HTMLファイルで3MB強、タグを除去したテキストだと1.5MBくらい。5年かけても、たいした量にはなっていないんだな。今となっては不要な記事がたくさんあるので、この機会に1,000件以内に減らしたい。

記事の変換だけでなく、記事の順番も変えたい。BLOCKBLOGでは、新しい順でしか記事を表示できなかったので、保存したファイルも新しい順になる。インポートすることを考えると、古い順にしたい。なぜなら、インポート時に、先に読み込まれた記事ほど若い記事番号になるからだ。新しい記事ほど若い番号になるのは、どうも気持ち悪い。

記事の順番を入れ替えるツールは、自分で作ることにした。難しいことは考えずに浮かんだアルゴリズムが以下のもの。

  1. 記事を1つ読む
  2. 新規作成したテンポラリファイル(tmp)に書き込んで、テンポラリファイルをクローズ
  3. テンポラリファイル(tmp)に、出力先ファイル(dst)を連結する(copy tmp + dst)
  4. 出力先ファイルを消す(del dst)
  5. テンポラリファイル(tmp)を出力先ファイル(dst)にリネームする(ren tmp dst)
  6. くり返す

ファイル操作が激しいけれど、何度も使うものではないから、動けばいい。DOSのコマンドを多用しているのも、なるべく簡単に済ませたかったから。なお、copy tmp + dstの部分は、tmpとdstの内容が連結され、tmpに書き込まれるという動きをする。

VBScriptで作ってみたら、ファイルが連結してくれず、意図した動きにならなかった。原因がわからなかったので、C言語で作り直したら動いた。どこが悪かったのだろう。

コメントとトラックバックの順番も逆にしたいが、これはもう手作業でやることにする。全部の記事を見直すつもりだから、そのときに入れ替えよう。

関連記事
コメント
コメントの投稿









JavaScriptを有効にする必要があります。




管理者にだけ表示を許可する

1カ月間、新規記事がない場合、コメントは承認制になります。

トラックバック
トラックバックURL
http://tswe.blog98.fc2.com/tb.php/90-9f3322b4
この記事にトラックバックする(FC2ブログユーザー)

| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。