EverythingDopus - An utility to integrate Everything with Directory Opus

It's part of the zip you're told to download in the first line of the installation instructions in the first post.


Thanks Leo, Actually the ed.exe file and the Everything64.dll both file need to copy to the everything installation folder into the c drives program folder, and if need to re browse the ed.exe then should the shift key and click on the toolbar button

@khalidhosain Ideally you do NOT want to put those files inside the everything folder, to avoid needing any admin permission.

Please take a look at the README.md file :slight_smile:

1 Like

I think your installation description on github misses the step 3, right?
In general step 3 is unclear (I did not really understand what is meant). I opened the settings of DOpus and used drag&drop to the script area - that seems to work. (But the Dopus folder for scripts is "\Script AddIns".

The "show picture" was deselected in the button on my side. Why is there so much blank space right to the Label?

But in general it works, Thanks. :slight_smile:

The README.md goes into more detail:

Copy the file EverythingDopus.osp to /scripts . If you have trouble accessing that folder, that is just a shortcut for: %AppData%\GPSoftware\Directory Opus\Script AddIns

Note that /scripts is an alias that points to the that Script AddIns folder.

1 Like

That is why I needed the GitHub instructions: I assumed /scripts would refer to %APPDATA%\GPSoftware\Directory Opus\Scripts

(now I know /scripts in the address bar brings me to the "\Script Addins" folder ... beginner struggles :smiley: )

On the weekend I'll update the first post and GitHub instructions with any issues that were found :slight_smile:
My apologies I couldn't update previously, this is a really busy week

1 Like

Just updated the first post with proper instructions :slight_smile:

Also I added the features requested by @NotNull and with this we have version 1.1 :smiley:

@Leo, I think @khalidhosain found a Unicode in Dopus.

After spending some time with the debugger, I think I recreated it with a powershell script to aid in reproducing it:

unicode-bug-dopus.ps1.txt (678 Bytes)

Save to an appropriate folder, rename it to ps1 extension, take a quick read and run it. It will recreate the bug :slight_smile:

It seems the content of the created text file are correct, but dopus is failing to parse it :frowning:

What does EverythingDopus do? Parse the search result and feed it back to Opus via dopusrt?

Why don't you use Opus' AddFilesFromFile() to parse Everything's file list?

Once you have the files in the command object, all you need is Copy COPYTOCOLL=member to create the collection.

Am I missing a key feature of EverythingDopus?

What's the bug you think is there? Would be good to have a description of it so I don't have to work out what that PowerShell script is doing or which part to focus on.

My apologies @Leo, it seems the commands was missing the /utf8 flag.
For some reason I assumed dopus would auto detect the file format - my bad :confused:

I added version 1.2 to GitHub that adds that flag, so @khalidhosain won't have any more issues :slight_smile:


@lxp I'm slightly confused at what you mean. Could you explain a bit more?


I want to modify your script, but it seems to be done by the packaged plugin? :upside_down_face:

  1. Warning when there is no result, and do not open a new tab;
  2. Use time to name the collections, and the collections is placed in a folder such as EverythingDopus;
  3. Add query history.
    Fast search with Everything v2 - Buttons/Scripts - Directory Opus Resource Centre (dopus.com)

This warning is unnecessary for me. . .

Added Total Result count warning, if it's over 1000 matches

You can check the script here: EverythingDopus/EverythingDopus.js at master · TheZoc/EverythingDopus · GitHub
Though it's mostly an interface between dopus and the utility, there's not much meat there right now.
The utility source code is in C and available in the same repository :slight_smile:

Oh, this is indeed nice - I'll add that for the next version.
Do you think a dialog popup is enough / appropriate?

Could you provide an example of the time format you mean? :slight_smile:
(I'm thinking about an ISO date)

I had no idea it was possible to nest collections. That's a great idea indeed :slight_smile:

Oh, that could cool to have! How hard it is to do that?
(Note: I'm not a fluent javascript person :confused: )

I still want to fine tune this to something that triggers when there's way too many results and slows down opus.
If you want to give it a try, search for a and you most likely will see opus struggling to handle about 1 million objects :sweat_smile:
Though I think 1000 is a quite small number for this warning. I want to bump it up :slight_smile:

Thanks for this, I was previously using SearchEverything but this is much much faster. Great work!

1 Like

You can copy some of the code I added in that script and modify it (I'm a scripting noob). :slightly_smiling_face:

dlg.request("[Everything]\r\n\r\nNothing found!","OK");
There would be another option if the developers could add a message to be displayed in the status bar. :smiley:

var Time = DOpus.Create.Date.Format("D#yyMMdd-T#HHmmss");
var colspec = "coll://"+"Everything\\"+Time;

Just copy and paste.

Search results rarely exceed 1000 items, all seem to be ok. (Just don't like too many warnings, don't care.)

Making the script configurable would be the best, but I haven't explored that area yet.

Oh, there's something that might've passed by unnoticed. Most of the utility is built in C, so some of the suggested changes would need a different approach :slight_smile:
The "bridge" script currently only forwards the query string to the C utility

Okay, lets go through the quotes (sorry, for some reason my browser is freezing if I try to quote :cold_sweat:)

  • The dialog with a message with zero elements found is easy to do

  • About the date, sorry I can partially read it, but it's in a format I'm not used to. I'll most likely will be using strftime(), so could you provide the output for your formatting string? (Use the date and time of your reply as an example if you can, please :slight_smile: )

  • Uhhh my apologies for my ignorance in the javascript world :sweat_smile: - I haven't touched web stuff for 15yrs+ now. I really don't know how to use the snippets provided or where to paste them, though I'd be happy to have a working example with the current version of the "bridge" script

  • Glad the warning doesn't bother you, as it is rarely hit :slight_smile:

I'll add the dialog and date soon-ish :slight_smile:

If it helps, the Opus scripting interface has a Date object which can convert dates to the format of the user's locale (or user's override of their locale in Preferences):


If everything is coming from the C program and then going through a script, the C program could use its own internal date format and the script could convert things on the way.


Search here doesn't work.
C:\Program Files\EverythingDopus-1.2-x64\ed.exe EverythingDopus.js parent:"C:\Program Files\EverythingDopus-1.2-x64\EverythingDopus"
C:\Program Files\EverythingDopus-1.2-x64\ed.exe EverythingDopus.js parent:"C:\Program Files\EverythingDopus-1.2-x64\EverythingDopus"

User-defined commands: ev ev2 ecf eclip fb-tl
EverythingDopus.osp (60.4 KB)
Toolbar button:
EverythingDopus.dcf (1.1 KB)

Today I pushed 3 commits to the repository to add these features

  • Show a dialog and do not create a new collection if the search returns no results
  • Cleaned up the texts in the dialogs
  • Collections in directory opus are now created as coll://EverythingDopus/(timestamp) (regex) search string

Those are main features requested by @WKen

I haven't submitted a compiled binary yet as the last commit changes quite a bit of code, I want to make sure it's stable before I add new binaries - but if anyone wants to compile and give it a try, it's ready :slight_smile:


I haven't done anything about a new dialog yet - hopefully soon-ish.

1 Like