~~Title: Find Files~~
== Directory Opus 13 - Detailed release notes ==
* General:
* Redesigned UI.
* Removed Simple/Advanced tab control, replacing it with "Advanced Mode" checkbox in the panel's header.
* Replaced "Reset" button with a menu in the header.
* You can now save your own defaults and reset to them, as well as the factory defaults.
* Within the Exclude field, click the cog button for options to exclude hidden and system folders.
* "Suppress UAC prompts" option: If there's an access denied error when trying to look in a file or folder, it will be skipped rather than prompting for elevation.
* If a search finishes without finding any results, a message will say so at the top of the file display.
* 'Ignore diacritics' options added.
* Fields like Name, Description, Contains/Text, Tags, Target, etc. now have the full set of matching options (case / partial / any word / ignore diacritics / wildcards / regex).
* "Indexed search" field lets you specify an indexed search query, and then feed the results through the rest of the Find parameters.
* Lets you narrow down which files are considered, using a fast indexed search, and then apply more advanced criteria to filter them down even more.
* Works with Windows Search, Everything, and Global Everything.
* The "Save as Stored Query" command now works in a collection generated using the Find dialog.
* The Find Panel's configuration will be stored as part of the collection.
* Creates a file collection which automatically re-runs the Find each time you navigate to it, and/or on refresh.
* Stored Queries now work with Everything and Opus Find.
* Stored queries that use Opus Find can also supply a text filter (see below) definition by prefixing it with a & character, or Evaluator code by prefixing with `=`.
* "Show Results" now lets you send results to a new tab on the left or right (not just source or destination).
* "Automatically shrink" option can now be found by right-clicking the Utility Panel's Shrink button (next to the close button).
* "Find Results" now has its own folder format, distinct from the more general "Collection" format.
* Presets:
* You can now configure the Find Panel and save everything as a named preset.
* Presets can be loaded into the Find Panel, and also used with the Find command.
* In the lister, the default Tools menu has a Find Presets sub-menu that lists any saved presets. Selecting one immediately runs the saved search without having to open the Find Panel.
* The Tools menu's Presets sub-menu also includes a couple of examples using hardcoded filters to search below the current directory:
* Find Empty Folders -- Finds completely empty folders.
* Find Zero-Byte Folders -- Finds folders which only contain empty files or other empty folders.
* Exclude folders:
* New "Exclude" field lets you exclude files and folders. Excludes Recycle Bin and System Volume Information folders by default. Supports multiple paths, wildcards and regex. Syntax options:
* `regex:xxxx` - Regular expression must match to exclude an item.
* `wild:xxxx` - Standard wildcard must match to exclude an item.
(Wildcards are auto-detected without the `wild:` prefix if using `*?|` characters. Other wildcard characters which are valid path characters require an explicit `wild:` prefix to be interpreted as such.)
* `C:\Temp` - Fully qualified path; matches path itself and contents.
* `C:\Temp\*` - Fully qualified path, with wildcard; matches contents only.
* `Name` - Non-wild, non fully qualified; matches itself and contents. Turns into: `*\Name(|\*)`
* `Name\*` - Non-wild name with trailing `*`; matches contents only. Turns into: `*\Name\*`
* `Name*` - Wild name; matches itself and contents. Turns into: `*\Name*`
* Simple mode:
* Size units (KB/MB/GB) can be selected.
* Text (contents search) field has "Assume UTF8" option.
* Enhancements to "any word" matching:
* Words prefixed with `+` must match (in any order).
* Words prefixed with `-` must not match.
* Words without `+` or `-` may match, and at least one must match if any are specified.
* If one or more file extensions are specified, all folders will be excluded, and files must match one of the extensions (in addition to any other words specified).
* Partial file extensions are supported. ".jp" will also match ".jpg".
* Partial extension matching can be suppressed by using an explicit wildcard: "*.jp" will only match ".jp" and not ".jpg".
* All other words containing wildcards will be treated as if partial matching is on, whether it actually is or not.
* //Example:// With partial off, "dog c?t" - "dog" will only match "dog" (because no wildcard chars), but "c?t" will match both "cat" and "city".
* Remember that the rules above only work with "any word" mode. They can't be used when the mode isn't on.
* These rules also work in the Filter Bar when it is "any word" mode.
* Advanced mode:
* Added "Name Stem" filter clause. Matches against filenames without their extensions.
* Added "Folder Content" filter clause. Lets you search for folders containing files that match the specified criteria.
* Filters can now be edited in text form, as well as through the GUI builder:
* You can switch back and forth between modes at any time (provided the text is valid).
* Text filter definitions can be used in standalone buttons, instead of having to save the filter to the global list and refer to it by name.
* Text filters can also be generated or modified by script code, allowing scripts to change individual parameters within a filter.
* Text filters are also easier to share with other people (e.g. on the support forum).
* Text filters can also run Evaluator code:
* Bypasses the filter system completely and invokes the Evaluator on each file.
* Prefix the filter definition with `=`.
* If Evaluator code is in the text filter control, it can't be switched out of text mode. Evaluator code can't be converted to a traditional filter definition.
* Code can uses the same variables (e.g. name, picwidth, etc.) as Evaluator Columns (see elsewhere in the release notes).
* Code should return true a match, and false to skip the file.
* //Example 1:// `=ext(name) == ".jpg" && picwidth >= 1920`
* Can handle subfolder recursion as well. The `subfolder` variable will be true when the evaluator is querying whether a folder should be entered. Return true to enter or false to skip. By default all subfolders are searched.
* //Example 2:// `=subfolder ? (left(name, 1) == "a") : (ext(name) == ".jpg")` -- Find JPG files under folders whose names begin with "a".
* Commands:
* `Find FILTERDEF` -- Allows passing a filter definition in text form. Also allows Evaluator code. See "advanced mode", above.
* `Find HERE` -- Specifies that the Find operation should work from the current folder.
* `Find UAC=yes` -- Turn on searching inside folders that require elevation to look inside.
* `Find PRESET="My Preset"` -- Runs the specified preset immediately.
* `Find PRESET="My Preset" NOAUTORUN` -- Opens the Find panel with the preset loaded.
* `Find PRESET=!list` -- Generates a list of Find presets. Used by the default Tools > Find Presets menu. Can also specify "faves", "nofaves" or "nogroups".
* `Set Utility=Find PRESET="My Preset"` -- Alternative way to open the Find panel with a preset.
* `Set UTILITY=Find,Toggle` -- Old command now toggles the Find panel regardless of its Simple or Advanced state. When re-opening, panel opens in the mode which was last closed.
* `Set UTILITY=FindSimple,Toggle` -- Explicitly toggle the Find panel in Simple mode.
* `Set UTILITY=FindAdvanced,Toggle` -- Explicitly toggle the Find panel in Advanced mode.
* `Go NEW=FindPanel` -- Similarly, opens the new window's Find panel in the last used Simple or Advanced mode.
* `Go NEW=FindSimple` -- Explicitly opens a new window with the Find panel in Simple mode.
* `Go NEW=FindAdvanced` -- Explicitly opens a new window with the Find panel in Advanced mode.
* `Find SHOWRESULTS=tab,left` -- Send results to new tab on the left (or right).
* Other new Find command arguments: EXCLUDEHIDDEN, EXCLUDESYSTEM, IGNOREDIACRITICS, REGEXP, CASE, CONTREGEXP, CONTIGNOREDIACRITICS, CONTNOPARTIAL, CONTUTF8, QUERYENGINE.
* `DOpusRT.exe /col /engine=everything setquery...` -- See //External Manipulation of File Collections// in the main manual.
----
Next: [[release_history:opus13_detailed:duplicates]]