Movie(); - [AE] Backup.jsx

最近AfterEffects周りを調べていて、
ちょっとjsxが試してみたくなって一つ作ってみました。

<jsxとは>
Flashやってる人なら「jsfl」と聞けばすぐわかるかと思いますが
javascriptで書いてソフトの機能を拡張するファイルです。
エクスプレッションとはまた違います。
Winの7の場合ここにあります。
C:¥Program Files¥Adobe¥Adobe After Effects 7.0¥Support Files¥Scripts
CS4の場合
C:¥Program Files¥Adobe¥Adobe After Effects CS4¥Support Files¥Scripts

↓色々と作ってる人達&サンプル&リファレンス
http://aescripts.com/
http://d.hatena.ne.jp/xxJulexx/20090124/1232816892
http://michaelcardeiro.com/aeScripts/
http://anime-effect-verification.blogspot.com/
http://www.da-tools.com/
http://www.openspc2.org/book/AfterEffectsCS4/

Extend Script Toolkit使うと便利。


<内容>
どのソフトにも「保存」、「別名で保存」とありますが、
これは「バックアップして保存」的な感じのjsxです。

やってる事はファイル、フォルダの操作です。
AE7のデフォルトで入ってるスクリプト「save_and_increment.jsx」を自分用に改造。
hogehoge.aepというaepファイルでこのスクリプトを実行すると
同階層に「old」というフォルダ作って(あったら作らない)その中にhogehoge.aepのコピーを置く。
名前はhogehogeの後にローカルの日時_時間という名前になってバックアップを取ります。

オリジナル:hogehoge.aep → バックアップ:old/hogehoge20090305_152325.aep

別名で保存した場合は
別名で保存したファイルがAEでまた開かれますが
このjsxの場合常にバックアップ元のオリジナルのファイルが開かれます。
常にhogehoge.aepが最新。


<jsxの使い方と説明>

Backup.zip

落としたzipを解凍。
Backup.jsxが入っているので↓ここに
C:¥Program Files¥Adobe¥Adobe After Effects バージョン¥Support Files¥Scripts
Backup.jsxを移動。
※Winの7とCS4で動作確認しました。
移動した後見るとこんな感じで追加されています。


AEには自動でバックアップ取ってくれる機能があるの知ってますが無駄にファイルがたまるし、
自分の会社の各プロジェクトの作業フォルダ構成が大体こんな感じで

これがあると便利。

でスクリプトでファイルとか扱う時の注意ですが、
「編集」→「環境設定」→「一般設定」の
「スクリプトによるファイルへの書き込みとネットワークへのアクセスを許可」にチェック。


大した拡張機能じゃないのですが、
よく使用するソフトならより使いやすくより効率よく作業したいです。

中身のスクリプトは単純なので自分好みにカスタマイズして使ってくれたら幸いです。
あと使用に関しては自己責任でお願いします、ファイル操作なんで消えたりしたら恐い。
var currentProject = app.project;
var currentFile = currentProject.file;
if (!currentFile) {
    //名称未設定プロジェクトの場合名前付けて保存。
    currentProject.save();
} else {
    //保存
    currentProject.save(currentFile);
    var currentFileName = currentFile.name;
    //ファイル名の.前の長さ
    var namePos = currentFileName.lastIndexOf(".");
    if (namePos != -1) {
        currentFileName = currentFileName.substring(0, namePos);
    }
    //コピー先フォルダパス。
    folderName = currentFile.path+"/"+"old";
    folderObj = new Folder(folderName); 
    folderObj.create();
    //ローカルの日時、時間取得
    dateObj = new Date();
    year = dateObj.getFullYear();
    month = dateObj.getMonth() + 1;
    day = dateObj.getDate();
    h = dateObj.getHours();
    m = dateObj.getMinutes();
    s = dateObj.getSeconds();
    //10未満だったら0追加
    if(month<10) month = "0"+month;
    if(day<10) day = "0"+day;
    if(h<10) h = "0"+h;
    if(m<10) m = "0"+m;
    if(s<10) s = "0"+s;
    //保存するファイル名
    var newFile = File(folderName + "/" + currentFileName +year+month+day+"_"+h+m+s);
    flag = currentProject.save(newFile);
    //保存した時に出るアラート、いらなかったら下記1行削除
    flag ? alert("oldフォルダにバックアップしました。") : alert("バックアップできませんでした。"); 
    newFile.copy(currentFile);
    app.open(currentFile)
}

コメント
管理者の承認待ちコメントです。
  • -
  • 2018/05/12 8:13 AM
管理者の承認待ちコメントです。
  • -
  • 2019/01/14 6:00 PM
管理者の承認待ちコメントです。
  • -
  • 2019/01/21 8:49 PM
管理者の承認待ちコメントです。
  • -
  • 2019/02/17 5:21 AM
管理者の承認待ちコメントです。
  • -
  • 2019/05/16 4:54 AM
管理者の承認待ちコメントです。
  • -
  • 2019/05/28 4:13 AM
コメントする








   
この記事のトラックバックURL
トラックバック
About
spiraldelight

Category
Flash(12);
Movie(14);
Sound(17);
Event(22);
Life(8);



RSS





ナウでヤングなレンタルサーバー!ロリポップ!
ソフトバンクBB my BBコミュニケーター // チカッパ! // ファーストサーバ // Speever