Folder listing with precalculated sizes exported to txt files without recalculation

Hello.
I have used DOPUS since the Amiga days, and i managed to get my work to also purchase a corporate license.

I have a need to export the names of folders inside a folder, and the sizes of those folders ONLY to a text file.
I have configured dopus to calculate sizes of folders for local and network drives, and i get a listing of the folders, shown with the size of the folders.

But the export listing feature seems to want to recalculate ALL the sizes again, which is a loooong task since i am trying to calculate the sizes of folders on a SAN.

Is there a way to just dump the pre-calculated results viewable in the lister ONLY? so i do not have to recalculate when i export?, like is the listing cached somewhere like in an xml file so i can just copy it from there?

Like dump what i can see to a txt file or to a image file so i can OCR it later?

Best reg.

Toffy

You can use a script to copy the info to the clipboard. Size will be zero, if it hasn't been calculated.

// https://resource.dopus.com/t/folder-listing-with-precalculated-sizes-exported-to-txt-files-without-recalculation/42600

// 2022-10-25

function OnClick(clickData) {
    var cmd = clickData.func.command;
    var tab = clickData.func.sourcetab;
    cmd.deselect = false;

    if (tab.selected.count == 0) return;

    var tmp = '';
    for (var e = new Enumerator(tab.selected); !e.atEnd(); e.moveNext()) {
        var item = e.item();
        tmp += item.name + '\t' + item.size + '\r\n';
    }
    DOpus.SetClip(tmp);
}
Button as XML
<?xml version="1.0"?>
<button backcol="none" display="both" label_pos="right" textcol="none">
	<label>Name+Size</label>
	<tip>Copy Filename+Size to Clipboard</tip>
	<icon1>#copyfilenames</icon1>
	<function type="script">
		<instruction>@script JScript</instruction>
		<instruction>// https://resource.dopus.com/t/folder-listing-with-precalculated-sizes-exported-to-txt-files-without-recalculation/42600</instruction>
		<instruction />
		<instruction>// 2022-10-25</instruction>
		<instruction />
		<instruction>function OnClick(clickData) {</instruction>
		<instruction>    var cmd = clickData.func.command;</instruction>
		<instruction>    var tab = clickData.func.sourcetab;</instruction>
		<instruction>    cmd.deselect = false;</instruction>
		<instruction />
		<instruction>    if (tab.selected.count == 0) return;</instruction>
		<instruction />
		<instruction>    var tmp = &apos;&apos;;</instruction>
		<instruction>    for (var e = new Enumerator(tab.selected); !e.atEnd(); e.moveNext()) {</instruction>
		<instruction>        var item = e.item();</instruction>
		<instruction>        tmp += item.name + &apos;\t&apos; + item.size + &apos;\r\n&apos;;</instruction>
		<instruction>    }</instruction>
		<instruction>    DOpus.SetClip(tmp);</instruction>
		<instruction>}</instruction>
	</function>
</button>

1 Like

thank you so much. The XML button worked nicely, although displaying in BITS :smiley: not MB or GB
But the first code only gave a error that it did not understand "Function" when i tried to paste that code into the advanced part of making a new button

EDIT: forgot to set script type with first code. My bad!

It would be bytes, not bits.

If you want MB, GB, etc. like "auto" size units in Opus, change item.size to item.size.fmt. (But keeping it as bytes might make more sense, since it means you have the exact sizes which you can always turn other values using a simple Excel or Google Sheets formula.)

2 Likes

thank you so much!