2015年12月27日日曜日

txtをhowmに変換するスクリプト

テキストファイルをhowm形式に変換するスクリプトを作った。
変換したいファイルにマークして実行することで、カレントディレクトリにhowmファイルを新規作成する。

こういうテキストファイルが



こんな感じに。



やり方


以下をScriptフォルダに保存。

txt2howm.js

//!*script
// マークしたtxtファイルからhowmファイルを新規作成

var currentDir  = PPx.Extract('%1');
var EntryObj = PPx.Entry;0
var RetCD = EntryObj.FirstMark; 
var objFileSys = PPx.CreateObject("Scripting.FileSystemObject");
var nowdate = PPx.Extract("%*nowdatetime(Y-N-D)");
var nowtime = parseInt(PPx.Extract("%*nowdatetime(HMS)"));

if (RetCD != 1){ // マークがないときはカーソル下のファイルを処理
  if (!PPx.EntryName.match(/.txt$/i)) { // txtファイルでなければ終了
    PPx.Echo("拡張子がtxtではありません");
    PPx.Quit();
  }
  var objItem = currentDir + "\\" + PPx.EntryName;
  var outputfile = PPx.Extract("%*nowdatetime(Y-N-D-HMS)")+".howm";

  // ファイルの内容を取得しhowm形式に変換
  objInFile = objFileSys.OpenTextFile(objItem, 1);
  var str = "= " + objInFile.ReadAll() + "\n\n[" + PPx.Extract("%*nowdatetime(Y-N-D H:M)") +"]";
  objInFile.Close();
  
  // カレントディレクトリにhowmファイルを作成
  strCreateFile = objFileSys.BuildPath(currentDir,outputfile);
  objFileSys.CreateTextFile(strCreateFile);

  // howmファイルに書き込み
  objOutFile = objFileSys.OpenTextFile(strCreateFile, 2);
  objOutFile.Write(str);
  objOutFile.Close();
} else { //マークがあるときは順番に処理
  i = 0
  while(true){
    var entryName = EntryObj.Name;
    var hoge = nowtime + i // ファイル名の重複を避けるための処理
    var objItem = currentDir  + "\\" + entryName;
    var outputfile = nowdate + "-" + hoge +".howm";

    if (!entryName.match(/.txt$/i)){ // 拡張子がtxtでなければスキップ
    }
    else {
      // ファイルの内容を取得しhowm形式に
      objInFile = objFileSys.OpenTextFile(objItem, 1);
      var str = "= " + objInFile.ReadAll() + "\n\n[" + PPx.Extract("%*nowdatetime(Y-N-D H:M)") +"]";
      objInFile.Close();
      
      // カレントディレクトリにhowmファイルを作成
      strCreateFile = objFileSys.BuildPath(currentDir,outputfile);
      objFileSys.CreateTextFile(strCreateFile);
      
      // howmファイルに書き込み
      objOutFile = objFileSys.OpenTextFile(strCreateFile, 2);
      objOutFile.Write(str);
      objOutFile.Close();
      
      i = i+1;
    }
    if(EntryObj.NextMark != 1) break; // 最後のマークなら終了
  }
}

変換したいテキストファイルにマークしてから



以下を実行。
*script %0\Script\txt2howm.js

カレントディレクトリにhowmファイルが新規作成される。



作った理由


僕は、たまにポメラでメモをとっている。それをhowm形式に直すとき、今までは一々手作業でコピペをしていた(SETZERのFIFOモードを起動し、一時コマンドClipFile.jsでコピー。あとは、howmの新規作成→ペーストを繰り返す)。

ファイル数が少ないうちはそれでも別に良かったのだが、今回30くらいメモを作ったので、もうこれ面倒だな!と思って作りました(こなみかん)

0 件のコメント:

コメントを投稿