function OnInit(initData) { initData.name = 'UpdateEverythingFolderSize'; initData.version = '2023-04-25'; initData.copyright = ''; initData.url = 'https://resource.dopus.com/t/everythingfoldersize-use-everything-to-calculate-folder-sizes/44281'; initData.desc = ''; initData.default_enable = true; initData.min_version = '12.0'; } function OnBeforeFolderChange(beforeFolderChangeData) { var fsu = DOpus.FSUtil(); var exeES = fsu.Resolve('/programfiles\\Everything\\es.exe'); var wsh = new ActiveXObject('WScript.Shell'); var stt = DOpus.Create().StringTools(); var exportFile = fsu.GetTempFilePath(); var cmdLine = '"' + exeES + '"' + ' -size' + ' -no-header' + ' -export-csv "' + exportFile + '"' + ' -parent "' + beforeFolderChangeData.path + '"' + ' /ad'; // DOpus.Output(cmdLine); wsh.Run(cmdLine, 0, true); var vec = DOpus.Create().Vector(stt.Decode(fsu.GetItem(exportFile).Open().Read(), 'utf8').split('\r\n')); for (var e = new Enumerator(vec); !e.atEnd(); e.moveNext()) { var line = e.item().split(','); if (line.length != 2) continue; var size = line[0]; var dirVar = 'EFS' + line[1]; DOpus.vars.Set(dirVar, size); } }