The Source Item Editor allows the advanced customisation of a Source Item.

General Settings

This area contains the basic settings for the source item.

  • Path
  • The full directory path of the source item.

  • Ensure this path exists before allowing the profile to be processed
  • This checkbox can have three states, either of which can be set by repeatedly clicking upon it.

    • Checked
    • Processing can only be started if the path this source item is referencing exists. If it doesn't, an error will be displayed.

    • Intermediate
    • The existence of the referenced path depends on if the profile has Ensure all source items exist before processing enabled; if it has, then the path must exist before processing can be started. This setting effectively "inherits" the parent profile's existence setting.

    • Unchecked
    • Processing can be started regardless of if the referenced path exists or not.

  • Verify
  • Run a full check on all of the settings within the Source Item Editor and display any errors. The existence of the Path is checked, along with the syntax of all Rules to ensure there are no errors with any of the entered regular expressions.

Rules

Rules are used to tell FileSieve which files it should include and which files to ignore during the initial scanning stage.

Rules are processed in a top-to-bottom order; rules nearer to the top have a higher priority. The regular expression for rules are matched against a file's full path and filename, including file extension.

  • Type
  • Specifies the type of rule.

    • Search Rule
    • This rule is used for allowing files. If a Search Rule matches, rule processing for that file will be stopped and the file will be included within the profile processing.

    • Ignore Rule
    • This rule is used for disallowing files. If an Ignore Rule matches, rule processing for that file will be stopped and the file will be ignored from profile processing.

  • Regex
  • The regular expression to use for matching.

    Tips

    If you're not sure what rules to add, then use the default Search Rule with the .* regular expression to include everything.

    To check multiple file extensions, use \.(jpg|gif)$ (the $ symbols checks the end of the string; conversely, use the ^ character at the start to check the start of the string) which'll check for files ending in jpg and gif. Add an additional pipe character followed by an extension to add more.

    If you require help at all, please visit the GitHub Issues page where I'd be glad to help!

Options

The Options section provides additional settings for the source item.

  • Perform case-insensitive path and filename matchingDefault: enabled
  • Performs a case-insensitive match. For example, Dog will match both dOg and DOG.

  • Include Sub-FoldersDefault: enabled
  • If enabled, all child sub-folders and files under the path will be processed, otherwise only the files immediately under the path are processed.

  • Delete any empty sub-folders after processingDefault: disabled
  • If enabled, any sub-folders under the main path for this Source Item that become empty after processing will be deleted to the recycle bin. The Options area within Settings allows you to change if the sub-folders are removed during or after processing.

  • Metadata
  • Provides options for matching/ignoring on file metadata (eg. data about data).

    • Minimum FilesizeDefault: 1
    • Files are only matched if their filesize is this value or higher. By default, this is set to 1 so any empty 0-byte files are ignored; set to 1 to also include those files.

    • Maximum FilesizeDefault: -1
    • The maximum filesize of files to be included. This value is inclusive, in that files that are the same or smaller will be included.

Advanced

The advanced area contains settings which are specifically provided for those what want further control over the source item. Editing these settings is not required.

  • Regular Expressions
  • Advanced settings pertaining to both the Search and Ignore patterns.

    • Invariant cultureDefault: disabled
    • Specifies that cultural differences in language is ignored.

    • CompileDefault: disabled
    • Specifies that FileSieve should compile the regular expression into machine code for faster execution, but increases the initial sorting startup time.

      This can be useful if there are hundreds of thousands of files that need to be checked at the expense of a small delay before the sorting begins (after the Start button is pressed).

      • Benchmark
      • Performing the benchmark will test the speed at which your system can perform regular expression comparisons using the current settings entered into the Source Item Editor window. 2 million comparisons are performed.

        Notice

        Please note that benchmarks between FileSieve 4.07 and earlier are not comparable due to significant changes to the Source Item Editor in 4.07.


    • Right-to-leftDefault: disabled
    • Specifies that matching will be from right-to-left instead of left-to-right. Default:

    • Ignore Pattern WhitespaceDefault: disabled
    • Eliminates unescaped white space from the pattern.

      Tips

      While Compile sounds like a (small!) speed-up, it only really is if you are processing literally hundreds of thousands of files. It is recommended that you do not enable Compile otherwise - or even in that particular case! - because certain incorrectly-configured systems may cause FileSieve to abort with an error during the compilation process.

      Practically all of the processing time is spent performing the file copies, moves, or deletes; the comparison and sorting is insignificant in the scheme of things.


      Warning

      Disable the Compile setting if FileSieve gives a file error when sorting begins; this is due to the operating system FileSieve is running on having insufficient or broken permissions in regards to the system's TEMP directory.


  • Other
  • Additional settings that don't fit into the other categories.

    • Get Files ModeDefault: yield
    • Determines how FileSieve will get the list of files/items within the Source Items during processing.

      • Yield
      • When processing starts, FileSieve will get the first file/item, process it, and move onto the next item. This ensures the processing engine is not waiting around while the file/item list is being generated.

        Items are immediately processed so results are immediate.

        The disadvantage of Yield is that, overal, it can be significantly slower than the other non-Yield modes.

      • Burstrecommended
      • As soon as processing starts, FileSieve will get (enumerate) the entire list of files/items while the processing engine waits. Once the list is generated, it will be passed back to FileSieve and processing will commence.

        The performance difference between Burst and Yield is that Burst is significantly faster; in fact, Yield can process 70,000 files in a few minutes whereas Burst can process those same files in a couple of seconds (on a mechanical drive).

        The disadvantage of Burst is that it can result in the FileSieve not "knowing" when processing has completed and the interface not reverting back to its non-processing state. If this is the case, either select Yield or - if you want to keep the performance improvements of Burst - change the value of the UiWaitForThreadExit within Settings - Advanced - Processing to a higher value, such as double (eg. 1000).

      • Burst: Fastdisables some features
      • Like with Burst, as soon as processing starts, FileSieve will get (enumerate) the entire list of files/items while the processing engine waits. Once the list is generated, it will be processed back to FileSieve and processing will commence.

        The "fast" in this mode is that the only Search Pattern supported is .* (which matches everything), and sub-folders are not searched within the current Path. The internal file enumeration code is greatly simplified.

      Tip

      Most - if not practically all - of FileSieve's processing time is with the operating system copying/moving the item, and not in the actual logic of determining how to process the item. There is no need for the significant majority of users to change this value from the default of Burst.

Preview

The Preview area provides a means of testing the entered path and rules to see what is being returned for inclusion within the sorting process.

  • Refresh
  • Refeshes the list using the currently entered settings and patterns. Useful to quickly see the results of any changes. A refresh is automatically performed when the Preview tab is selected.

    Tip

    The SourceItemEditorAutoPreviewOnTabSelection setting within the Advanced area of the Settings window can be used to prevent FileSieve from automatically refreshing the preview list when the Preview tab is clicked.

Keyboard Shortcuts

Unless stated otherwise, these keyboard shortcuts are global to the entire window; pressing them regardless of which control is active will cause them to trigger.

  • F1, Help
  • Displays this page of the documentation.

  • F2
  • Displays the Rules tab.

  • F3
  • Displays the Options tab.

  • F4
  • Displays the Advanced tab.

  • F5
  • Displays the Preview tab.

  • F8
  • This is the keyboard equivalent of clicking on the Verify link.

  • F10
  • Shows or hides the extended section of the window. This is a keyboard equivalent of clicking on the downwards pointing arrow at the bottom-left of the window.

  • F12
  • This is the keyboard equivalent of clicking on the Close button.