function OnInit(initData) { initData.name = 'UnrarBench'; initData.version = '2023-05-25'; initData.url = 'https://resource.dopus.com/t/poor-rar-extract-performance/44480'; initData.default_enable = true; initData.min_version = '12.0'; } function OnAddCommands(addCmdData) { var cmd = addCmdData.AddCommand(); cmd.name = 'UnrarBench'; cmd.method = 'OnUnrarBench'; cmd.hide = false; cmd.icon = 'script'; } function OnUnrarBench(scriptCmdData) { var cmd = scriptCmdData.func.command; var fsu = DOpus.FSUtil(); var wsh = new ActiveXObject('WScript.Shell'); var exeWinRAR = fsu.Resolve('{apppath|winrar}winrar.exe'); var item = fsu.GetItem(fsu.Resolve('/downloads\\sample.rar')); var scriptStartTime = DOpus.Create().Date(); var targetFolder = item.path + '\\' + scriptStartTime.Format('D#yyyyMMdd-T#HHmmss'); cmd.RunCommand('CreateFolder NAME="' + targetFolder + '"'); cmd.deselect = false; cmd.RunCommand('Set UTILITY=otherlog'); DOpus.ClearOutput(); var cmdLine = 'Copy EXTRACT FILE="' + item + '" TO="' + targetFolder + '"'; DOpus.Output(cmdLine); cmd.RunCommand(cmdLine); // var cmdLine = '"' + exeWinRAR + '" x "' + item + '" ' + targetFolder + '"'; // DOpus.Output(cmdLine); // wsh.Run(cmdLine, 1, true); var scriptEndTime = DOpus.Create().Date(); var duration = (scriptEndTime + scriptEndTime.ms - scriptStartTime - scriptStartTime.ms); DOpus.Output('Script running time: ' + duration + ' milliseconds'); cmd.RunCommand('FileType NEW=.txt PATH="' + targetFolder + '" NEWNAME="norename:' + duration + ' milliseconds.txt"'); }