クリエイター手抜きプロジェクト[352]Illustrator CS5/CS6編 不要なPDFを削除する/古籏一浩

投稿:  著者:  読了時間:6分(本文:約2,600文字)


かつて、AI, EPSファイルをPDFとして同じフォルダ内に保存するスクリプトを紹介しました。しかし、用が済んだらPDFを削除したい場合もあります。今回は、指定した拡張子を持つファイルをまとめて削除するスクリプトです。

このスクリプトは、ロックされているファイルは削除することができません。その際、いくつ削除できなかったかを最後に表示してくれます。また、ESTK上からであれば、JavaScriptコンソールに削除できなかったファイルの場所が表示されます。




(function(){
var fileExtType= prompt("削除するファイルの拡張子を入力してください", "*.pdf");
if (!fileExtType){ return; }
var allList = getAllFiles(fileExtType);
var delCounter = 0;
for(var i=0; i<allList.length; i++){
$.writeln(allList[i].fullName);
var flag = allList[i].remove();
if (!flag){
delCounter++;
$.writeln("削除できないファイル:"+allList[i].fullName);
}
}
if (delCounter > 0){
alert("削除できないファイルが"+delCounter+"つありました");
}
})();
// File Library
function getAllFiles(fileTypes, basePath,options){
options = options || {};
if(!basePath){
basePath = Folder.selectDialog("フォルダを選択してください");
if (!basePath){ return; } // キャンセルされた場合は処理しない
}
var allList = [];
// パラメータが文字の場合
if (typeof(fileTypes) == "string"){
getFileList(new Folder(basePath), fileTypes);
return toJapanese(allList, options.japanese);
}
// パラメータが配列の場合
if (fileTypes.push){
for(var i=0; i<fileTypes.length; i++){
getFileList(new Folder(basePath), fileTypes[i]);
}
return toJapanese(allList, options.japanese);
}
function getFileList(currentFolder, fileType){
var fileList = currentFolder.getFiles(fileType);
var fileList2 = currentFolder.getFiles("*"); // Sub Folder
allList = allList.concat(fileList);
for(var i=0; i<fileList2.length; i++){
if (fileList2[i].getFiles){
if (fileList2[i].name.charAt(0) == "."){ continue; }
getFileList(fileList2[i], fileType); // フォルダがある限り繰り返し
}
}
}
// 日本語に変換(nameJ, fullNameJ)
function toJapanese(fileList, flag){
if (!flag){ return fileList; }
for(var i=0; i<fileList.length; i++){
fileList[i].nameJ = File.decode(fileList[i].name);
fileList[i].fullNameJ = File.decode(fileList[i].fullName);
}
return fileList;
}
}


【古籏一浩】openspc@alpha.ocn.ne.jp
< http://www.openspc2.org/ >

地元の本屋ではデアゴスティーニの「週刊ロビ」ずっと山積みのままです。
売れてなさそうなんですが......。

・4K HD フリー映像素材
< http://footage3.openspc2.org/HDTV/footage/4K/30f/ >

・Nexus 10(アンドロイドタブレット)使い方辞典
< http://www.openspc2.org/reibun/Android/Nexus10/ >

・Kindle Fire HD使い方辞典
< http://www.openspc2.org/reibun/Kindle/Fire_HD/ >

・Nexus 7(アンドロイドタブレット)使い方辞典
< http://www.openspc2.org/reibun/Android/Nexus7/ >

・iPad mini(アイパッドミニ)使い方辞典
< http://www.openspc2.org/reibun/iPad/mini/2012/ >

・JavaScript逆引きハンドブック
< http://www.amazon.co.jp/dp/4863541082 >

・改訂5版JavaScriptポケットリファレンス
< http://www.amazon.co.jp/dp/4774148199 >

・ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/ >

・クリエイター手抜きプロジェクト
< http://www.openspc2.org/projectX/ >

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/ >
吉田印刷所の「印刷の泉」でも購入できるようになりました。