function OnInit(initData) { initData.name = 'EverythingFolderSize'; initData.version = '2023-04-25b'; 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 OnAddColumns(addColData) { var col = addColData.AddColumn(); col.name = 'EverythingFolderSize'; col.header = 'EverythingFolderSize'; col.label = 'EverythingFolderSize'; col.method = 'OnColumn'; col.justify = 'right'; col.type = 'size'; } var fsu = DOpus.FSUtil(); var wld = fsu.NewWild(); var wsh = new ActiveXObject('WScript.Shell'); var fso = new ActiveXObject('Scripting.FileSystemObject'); var exeES = fsu.Resolve('/programfiles\\Everything\\es.exe'); if (!fsu.Exists(exeES)) { DOpus.Output('"' + exeES + '" not found!'); } function OnColumn(scriptColData) { var item = scriptColData.item; if (!item.is_dir) return; if (item.path.drive == 0) return; var exportFile = fsu.GetTempFilePath(); var cmdLine = '"' + exeES + '"' + ' -size' + ' -no-header' + ' -export-csv "' + exportFile + '"' + ' regex:"' + wld.EscapeString(item.realpath, 'r') + '$"'; // DOpus.Output(cmdLine); wsh.Run(cmdLine, 0, true); var importFile = fso.OpenTextFile(exportFile, 1); var line = importFile.AtEndOfStream ? '' : importFile.ReadLine(); importFile.Close(); var size = line.replace(/(\d+).*/, '$1'); scriptColData.value = size; }