このサイトはアフィリエイト広告を利用してます

複数のフォルダを一括作成!Illustratorスクリプトを使った管理術

訪問していただきありがとうございます。

  • フォルダ作成を自動化したい
  • カテゴリー分類してフォルダを管理したい
  • テンプレでフォルダ名を設定してたい

Illustratorを使うと、さまざまな種類のファイルがどんどん溜まっていきます。そのため、ファイルを管理しやすくするためには、カテゴリー分類などのルールを決めるいる人も多いですよね

しかし、毎回ルールに従ってフォルダを作成するのは手間がかかります。特に、フォルダが多い場合はその手間が膨大です。

そこで、今回は決まったルールに基づいて自動的にフォルダを作成してくれるIllustrator用のスクリプトを紹介します。このスクリプトを使えば、分類ごとの新規作成や名称変更の手間から解放され、デザインに集中する時間を増やすことができます。

日々、仕事の効率化を考えている方に特におすすめのスクリプトです。ぜひ最後までご覧ください。

それではどうぞ

Profile
この記事を書いている私は、DTPデザイナーとしてIllustratorの操作経験が15年以上あり、スクリプトも自分の業務で必要になったものを自ら作成し、デザイン作業の効率化を図っています。
最近では、当ブログでも自作スクリプトを公開しています。

「クリエイティブ」がわかる転職エージェント

●「量より質」を重視した求人のご紹介
●「クリエイティブがわかっている」
●「求人企業を深く知る・密接な関係」

【フォルダ管理】スクリプトの概要

フォルダ管理スクリプトの概要
まず、このスクリプトについて解説します。

開発

このスクリプト(folderManagement.jsx)は、JavaScript言語をベースに私が自作したIllustrator用のスクリプトです。主な機能としては、指定された場所に親フォルダと子フォルダを自動で作成してくれるものです。
具体的には、以下の通りです。

・指定された箇所に親フォルダを作成
・親フォルダの中に子フォルダを作成
・設定されたフォルダ名に名称変更
・同一のフォルダ名が存在する場合は、アラートで通知

ダウンロード

本スクリプトは、下記からサンプルとしてダウンロードすることができます。
使用上の注意や免責については「注意事項と免責事項」に記載していますので、必ずお読みください

ダウンロード:folderManagement.jsx

スクリプトの使い方

本スクリプトは、下記のSTEPで使うことができます。
事前準備.【folderManagement.jsx】をテキストエディタで開き「子フォルダ名を設定」し保存する
※子フォルダ名の数は変更可能です。必要な数に合わせて変更してください


//子フォルダ名 ここから
var fname =[
//修正可能範囲 ここから
   'デザイン', 
    '入稿',
    '業務資料',
    '見積',
    '依頼書',
//修正可能範囲 ここまで
];
//子フォルダ名 ここまで
  • STEP1.ファイルメニューからスクリプトを選択
  • STEP2.【folderManagement.jsx】を選択
  • STEP3.フォルダを作成する場所を指定
  • STEP4.親フォルダ名を設定

管理スクリプトのプレビュー
なお、次の記事ではそもそもIllustratorスクリプトってどうやって使えばいいのか、活用事例を交えながら紹介しているので良ければ参考にしてください。
関連記事:スクリプトでデザイン革命!Illustratorを最大限に活かす使い方【Mac】

動作チェック

・IllustratorCS6【Win】
・Illustrator2024【mac】

で、動作チェックをおこないました。



【フォルダ管理】スクリプトのソースコード

フォルダ管理スクリプトのソースコード
ここでは、【folderManagement.jsx】の動作フローと処理条件がわかるソースコードを紹介します。説明ようのコメントアウトも含まれていますので参考にしてください

なお下記の記事では、Illustratorスクリプトを自作する方法についてサンプル事例を交え解説しているのでよければ参考にしてください。
関連記事:デザインを自動化する!Illustratorスクリプトの作り方

ソースコード


#target illustrator 

//子フォルダ名 ここから
var fname =[
   'デザイン',
    '入稿',
    '業務資料',
    '見積',
    '依頼書',
];
//子フォルダ名 ここまで

//メイン処理 ここから
var saveFolder = Folder.selectDialog ('フォルダの作成場所を選んでください');

if(saveFolder){
    var decode =  decodeURIComponent(saveFolder);//文字化け対策
    var folderName = prompt ('フォルダ名を入力してください','','フォルダ');
    createFolder(folderName,saveFolder,decode);//フォルダーを作成する関数
} else {
    alert ('フォルダーを作成できませんでした。');
}
//メイン処理 ここまで

function createFolder(folderName,saveFolder,decode){
    var parentFolder = new Folder(saveFolder + "/" + folderName); // Folderオブジェクトに変換  
    if(parentFolder.exists){   //もし同名のフォルダが存在しなければ、新しいフォルダーを作成する  .exists:特定のファイルやフォルダが存在するかどうかを確認
        var choice = prompt("同名のフォルダが既に存在します。次の処理のうちどれを選びますか?\n1. フォルダを上書きする\n2. フォルダ名の最後に(1)を追加する", "", "選択してください");
        switch(choice) {//プログラムが複数の条件から一つを選択する必要がある場合
            case "1":
                removeAll(parentFolder);//フォルダ内のデータを削除
                parentFolder.remove(); // フォルダを削除してから再作成
                fcreate(parentFolder);//フォルダーを作成する関数
                break;//処理を抜ける
            case "2":
                var i = 1;
                while (new Folder(saveFolder + "/" + folderName + "(" + i + ")").exists) {//同名のフォルダがある限り繰り返す
                    i++;
                }
                folderName += "(" + i + ")"; // フォルダ名の最後に(i)を追加
                parentFolder = new Folder(saveFolder + "/" + folderName);
                fcreate(parentFolder);
                break;    //処理を抜ける           
            default:    //条件と一致しない場合
                alert("処理を中止します。");
                break; //処理を抜ける
        }        
    }else {
        fcreate(parentFolder)
    }
    alert('[ ' + decode + ' ]' + " にフォルダを作成しました");
}

function fcreate(create){
    //親フォルダ作成 ここから
    var folder = new Folder (create);//フォルダオブジェクトのインスタンス化
    folder.create(); //.フォルダ作成 crete:作成する
    //親フォルダ作成 ここまで
    //子フォルダ作成 ここから
    for(var i = 0 ; i < fname.length; i++){    
            var suri = ("00" + [i]).slice( -2 ); //ファイル№の桁数をそろえる
            var subFolder = create + "/" + suri + '_' + fname[i];//作成するフォルダのパスと名称
            var sub = new Folder(subFolder);
            sub.create();
     }
    //子フォルダ作成 ここまで
}

function removeAll(folderObj) {
    var files = folderObj.getFiles();//フォルダ内ファイルを取得する
    for (var i = 0; i < files.length; i++) {ファイルの数だけ繰り返す
        if (files[i] instanceof File) { //files[i]がFileのインスタンスであるかどうかをチェック
            files[i].remove();//削除する
        } else {
            removeAll(files[i]); // 再帰的にサブフォルダ内のファイルを削除
            files[i].remove(); // サブフォルダを削除
        }
    }
}



注意事項と免責事項

注意している女性
本記事に記載してあるスクリプトを実行した結果生じるトラブルに関しては一切の責任を負いません。ご利用は自己責任にてお願いいたします。

またIllustratorのアップデートにより動作が変わってしまう可能性もあります。アップデートによる動作の不具合に関しては、対処しかねるので予めご理解ください。

最後に本記事で配布しているスクリプトを無断で転送・販売・配布することは禁止いたします。

【フォルダ管理】スクリプトのまとめ

SUMMARY
Illustrator用のスクリプトを利用して、決まったルールに基づいて自動的にフォルダを作成する方法をご紹介しました。
スクリプトの機能をおさらいすると

・指定された箇所に親フォルダを作成
・親フォルダの中に子フォルダを作成
・設定されたフォルダ名に名称変更
・同一のフォルダ名が存在する場合は、アラートで通知

このスクリプト使えば、分類ごとの新規作成や名称変更の手間から解放され、デザインに集中する時間を増やすことができますので、ぜひダウンロードして活用してください。

またIllustratorスクリプトについてさらに詳しく知りたくなった方には、次の記事でおすすめの書籍とWEBサイトも紹介しています。興味があればぜひ参考にしてください

というわけで今回は以上です。
『複数のフォルダを一括作成!Illustratorスクリプトを使った管理術』を最後までお読みいただき、ありがとうございました。

ブログランキング・にほんブログ村へにほんブログ村 人気ブログランキング


ガネメ現役サラリーマン

投稿者の過去記事

◇このブログでは、15年以上DTPデザイナーとして、学んできたデザインやパソコンのセキュリティ知識・参考になった書籍などを紹介しています。
たまに、脇道にそれることもあります。

◇このブログはアフィリエイト広告を利用しています

◇取得資格
・情報セキュリティマネジメント
・ITパスポート
・色彩検定 2級
・色彩検定 UC級
・屋外広告士
・第2種電気工事士
その他・・・・

プロフィール

face

ガネメ
鹿児島県在住
現役サラリーマン

◇このブログでは、15年以上DTPデザイナーとして、学んできたデザインやセキュリティ知識、参考になった書籍などを紹介しています。
たまに、脇道にそれることもあります

◇取得資格
・情報セキュリティマネジメント
・ITパスポート
・色彩検定 2級
・色彩検定 UC級
・屋外広告士
・第2種電気工事士
その他・・・・

詳しいプロフィールはこちら

アーカイブ

カテゴリー

使用中のレンタルサーバー

ピックアップ記事

  1. Illustratorの便利機能
    Illustratorの作業を自動化したい EXCELのマクロみたいな機能を探し…
  2. 三角関数や円周率を使ってサッカーボールの作成 Illustratorスクリプト
    ・図形の座標を取得したい ・三角関数のコードについて学びたい ・プログ…
  3. includeを使う方法
    Illustratorスクリプトのライブラリを作りたい 関数を外部ファイルとして…




PAGE TOP