ちなみにMakeComment.jsはMoEで使用する、一行目とファイルパスを対応させたコメントファイルを作成するPPxスクリプトです。
MakeComment.js
//!*script
//カレントディレクトリに一行目とファイルパスを対応させたコメントファイル(00_INDEX.txt)を作成
var strLine = "\n";
var currentDir = PPx.Extract('%1');
for (var i = 0; i < PPx.EntryAllCount; i++) {
// サイズが0のファイルとディレクトリは読み込まない
if (PPx.Entry(i).Size == 0) {
}
// 拡張子がtxtとhowmのファイルを読み込む
else if (PPx.Entry(i).Name.match(/.txt$|.howm$/i)) {
var entryName = PPx.Entry(i).Name;
var objItem = currentDir + "\\" + entryName;
var objFileSys = new ActiveXObject("Scripting.FileSystemObject");
// ファイルの内容を取得
objInFile = objFileSys.OpenTextFile(objItem, 1);
// ファイル名+Tab+一行目の最初二文字~100字を切り取ったもの+改行をstrに代入
str = entryName + "\t" + objInFile.ReadLine().slice( 2,100 ) + "\n";
strLine = strLine + str;
objInFile.Close();
}
}
// カレントディレクトリに00_INDEX.txtを作成
strCreateFile = objFileSys.BuildPath(currentDir,"00_INDEX.txt");
objFileSys.CreateTextFile(strCreateFile);
// 00_INDEX.txtに書き込み
objOutFile = objFileSys.OpenTextFile(strCreateFile, 2);
objOutFile.Write(strLine);
objOutFile.Close();
// F5で更新
PPx.Execute("%K\"@[F5]\"")
Windows7で実際に動くか試したからこれでいけるはず。 だめなら連絡ください。
一行が長いときのため、100字の文字数制限を追加してみました。あとtxtやhowmが大文字(TXTやHOWM)になってたら読み込まなかったみたいなのでそれも直しておいた。たぶんこっちのほうが処理早いので今まで問題なく使えてたひとも差し替えたほうがいいかもです。
けど以前のコードでVistaまでは問題なかったのに、7からは.txtファイルを読み取らなくなるってどういう理屈なんだろう。私、気になります!
修正ありがとうございます。
返信削除無事Windows7でも、*.howmと*.txtの一行目を抽出できました。