Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // JDownloader2 EventScript - DL完了時にRAR5を無圧縮ZIPに自動変換
- //
- // トリガー:【新しいファイル作成時】
- //
- // rar_pathにrar.exeのパスを
- // winrar_pathにWinRAR.exeのパスを設定すること
- //
- ////////////////////////////////////////////////////////////////////////////////
- // "rar.exe"
- var rar_path = 'C:\\program files\\WinRAR\\Rar.exe';
- // "winrar.exe"
- var winrar_path = 'C:\\program files\\WinRAR\\WinRAR.exe';
- ////////////////////////////////////////////////////////////////////////////////
- // 識別用
- const SCRIPT_ID='8394DC648ADD83A7DE1E4586667651B8';
- const SCRIPT_NAME='RAR5→ZIP自動変換';
- const SCRIPT_TRIGGER='ON_NEW_FILE';
- const SCRIPT_VERSION='1.01';
- function isRAR5(file_path)
- {
- //
- // "rar.exe l -c- <file>"
- //
- var res = callSync('"'+rar_path+'"', 'l', '-c-', '"'+file_path+'"');
- var reg_exp = /^[^ \t]+: RAR 5/m;; // RAR書庫バージョン5のみ真
- // var reg_exp = /^[^ \t]+: RAR \d/m; // RAR書庫全て真
- return(res && reg_exp.test(res))
- }
- function convertRAR5ToZIP(file_path)
- {
- //
- // winrar.exeに渡すコマンドライン、バックグラウンド処理で無圧縮ZIPに変換
- // 別形式に変換したい場合は、以下の部分を変更する(ZIP書庫:-afzip, 無圧縮:-m0)
- //
- var winrar_cmdline = 'cv -afzip -m0 -df -ac -ibck -y --';
- if (! isRAR5(file_path)) return;
- // マルチボリュームは変換しない
- if (/\.part\d+\.rar$/.test(file_path)) return;
- // winrar.exe で変換
- var params = [];
- params.push('"'+winrar_path+'"');
- params = params.concat(winrar_cmdline.split(' '));
- params.push('"'+file_path+'"');
- callAsync(null, params);
- }
- var fl = null;
- try{
- fl = files;
- }
- catch(e){
- throw Error(
- 'イベントトリガーのタイプが正しく設定されていません\r\n\r\n'+
- '解決方法:イベントスクリプトの設定から本スクリプトのトリガーに\r\n'+
- ' 【新しいファイル作成時】を選択してください\r\n'
- );
- }
- fl && fl.forEach(function(f) {
- (/\.rar$/i.test(f)) && convertRAR5ToZIP(f);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement