Flash(); - [FL] BackupWin.jsfl

今度はFlash版を作成。

<内容>
AEのBackup.jsxのjsfl版。
「バックアップして保存」的な感じのコマンド用のjsflです。
Macでは動作しません。
WinXPのCS3,CS4で動作確認済み。なのでBackupWinとなってます。
hogehoge.flaで実行すると下記のようになります。
オリジナル:hogehoge.fla → バックアップ:old/hogehoge日にち_時間.fla


<jsflの使い方と説明>
BackupWin.zip
落としたzipを解凍。
BackupWin.jsflが入っているので↓ここにBackupWin.jsflを移動。
C:¥Documents and Settings¥ユーザー名¥Local Settings¥Application Data¥Adobe¥Flash バージョン¥¥Configuration¥Commands

移動した後見るとこんな感じで追加されています。


Flashの場合ショートカットが割り当てられるので
自分は「Ctrl」+「Alt」+「Shift」+「S」に割り当てています。

<ソース>
ファイルフォルダの操作はFLfile.createFolder()とかFLfile.copy()など使用。
ここらへんちょっとjsxと違いました。
fileURI コピー対象のファイルを指定するストリング。file:/// URI で表します。
copyURI コピーしたファイルの場所と名前を指定するストリング。file:/// URI で表します。
うちの会社の場合、
ネットワーク対応のHDD(リンクステーション)で作業ファイルをスタッフと共有してます。
C、Dドライブなどのローカルに保存する場合と
ファイルサーバーで保存する場合でURI変えるように設定してあります。
使用に関しては適当なFlaファイルで最初テストしてみて動作確認してみて下さい。
どう使用してもけっこうですが自己責任でお願いします。
//※windowsのみ動作
var currentDoc = fl.getDocumentDOM(); 
var filePath = currentDoc.path;
//ローカルかファイルサーバー上か
function checkDrive(path){
    if(currentDrive === "/"){
        path =path.split("//");
        path = path.join("file://///");
    }else{
        path= path.split(currentDrive+":");
        path = path.join("file:///"+currentDrive+"|");
    }
    return (path);
}
//オリジナルファイルのURI-------------------------------------Start
var originalFileURI = filePath.split("¥¥");
originalFileURI = originalFileURI.join("/");
//最初の1文字目でローカルかファイルサーバー上かチェック。
var currentDrive = originalFileURI.charAt(0);
originalFileURI = checkDrive(originalFileURI);
//オリジナルファイルのURI---------------------------------------End
//
//フォルダの作成-------------------------------------------------Start
//フォルダいらない場合消す
var createPos = filePath.lastIndexOf("¥¥");
folderPath = filePath.substring(0, createPos);
var folderPath = folderPath.split("¥¥");
folderPath = folderPath.join("/");
folderPath = checkDrive(folderPath);
//フォルダの名前
folderURI = folderPath+"/old/";
if (FLfile.createFolder(folderURI)) { 
    FLfile.createFolder(folderURI);
    fl.trace("バックアップフォルダを作成しました。" + folderURI); 
} else { 
    fl.trace(" バックアップフォルダは既にあります。"+ folderURI); 
}
//フォルダの作成-------------------------------------------------End
//
//バックアップファイルの作成-------------------------------------Start
var currentName = currentDoc.name;
var currentNameChangePos = currentName.lastIndexOf(".");
currentName = currentName.substring(0, currentNameChangePos);
//ローカルの日時、時間取得
dateObj = new Date();
year = dateObj.getFullYear();
month = dateObj.getMonth() + 1;
day = dateObj.getDate();
h = dateObj.getHours();
m = dateObj.getMinutes();
s = dateObj.getSeconds();
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 filePos = filePath.lastIndexOf(".");
filePath = filePath.substring(0, filePos);
var newFileURI = filePath.split("¥¥");
newFileURI = newFileURI.join("/");
newFileURI = checkDrive(newFileURI);
var FPos = newFileURI.lastIndexOf("/");
newFileURI = newFileURI.substring(0, FPos);
//名前付ける
newFileURI = newFileURI+"/old/"+ currentName +year+month+day+"_"+h+m+s+".fla";
//バックアップファイルの作成-------------------------------------End
//ファイルコピー
FLfile.copy(originalFileURI, newFileURI);

コメント
コメントする








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

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



RSS





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