選択されたファイルを圧縮する その2 2011-02-14 (Mon) 23:20

今回は選択されたファイルを、zip形式で圧縮する X-Finderスクリプト。
圧縮の形式が違うだけなので、詳細は「選択されたファイルを圧縮する」を参照のこと。

var ForReading = 1, ForWriting = 2, ForAppending = 8;
var TristateTrue = 0, TristateFalse = -1, TristateUseDefault = -2;

var i = 0;
var oSh = new ActiveXObject("WScript.Shell");
var oFs = new ActiveXObject("Scripting.FileSystemObject");
var cSel = WScript.Col(WScript.Env('Selected'));
var sBnam = oFs.GetBaseName(cSel.Item(0));
var sExt = '.zip';
var sName = sBnam + sExt, sNam2;
var sTemp = WScript.Env('Temp') + '\\' + oFs.GetTempName();
var sPgpath = '"D:\\Tools\\7za\\7za.exe"';
var sPara = ' a -tzip -mx=5 -r -y -scsWIN ';
var oTf = oFs.OpenTextFile(sTemp, ForWriting, true, TristateUseDefault);

oSh.CurrentDirectory = oFs.GetParentFolderName(cSel.Item(0));
while(true){
    if(oFs.FileExists(sName))
        sName = sBnam + ' (' + (++i).toString(10) + ')' + sExt;
    else
        break;
}
for(i = 0; i < cSel.Count; i++){
    oTf.WriteLine('"' + cSel.Item(i) + '"');
}
oTf.Close();
sNam2 = '"' + sName + '"';
oSh.Run(sPgpath + sPara + sNam2 + ' @' + sTemp, 7, true);
oFs.DeleteFile(sTemp);


なんだこれ。殆ど 7-zip圧縮と変わらんな。違いは赤字の部分だけだし、パラメタで渡すようにすべきだ。
X-Finder からスクリプト呼び出すときコマンドラインでパラメタも渡せるのかな???

Include:JScript ファイル圧縮.js '.zip' ' a -tzip -mx=5 -r -y -scsWIN '


こんな感じで…
なんか、いろいろ知らないこと多くてじれったし。
関連記事

トラックバック


この記事にトラックバックする(FC2ブログユーザー)

  1. 選択されたファイルを圧縮する その3
    以前に書いた記事、 「選択されたファイルを圧縮する」 「選択されたファイルを圧縮する その2」 では、zip,7-zip それぞれ別々にコードを書いていたが、ソースを見れば解る通り処理の内容自体は同じな...

コメントの投稿

管理者にだけ表示を許可する

注意事項
基本的にこのブログはブログ主の備忘録です。

ブログの内容にはブログ主の主観や時には正確でない情報が含まれていることもあります。書いてある内容がすべての環境にあてはまることを保証するものでもありません。

また、過去の記事は現時点で既に陳腐化していることもあります。

その辺をご理解の上で当ブログ内に書いてあることを試す場合は自己責任でお願いします。

記事内容の誤りの指摘、疑問点の回答などコメント頂けると助かります。
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
ブログ内検索
カラーコードチェッカ
カラーコードの確認
入力例) #ffffff | blue
カテゴリ
最新記事
最新コメント
最新トラックバック
リンク
ブロとも申請フォーム

この人とブロともになる

メールフォーム

名前:
メール:
件名:
本文: