Complicated Situation

General discussion related to "Everything".
Post Reply
mehdi1369
Posts: 2
Joined: Mon Dec 31, 2018 3:53 pm

Complicated Situation

Post by mehdi1369 »

Hello everyone,

So here is the deal, I have already 2700 title of my songs inside of an text file (I exported my Loved Tracks in last.fm) , All of this songs has been placed in my hard drive but in different folders, How do i tell to Everything: Take my text file and search all of my song title and gave me the result for all of my songs title, so if possible i could copy them in a single folder.

PS. My s tructure text file:
song title
song title2
.
.
tuska
Posts: 1099
Joined: Thu Jul 13, 2017 9:14 am

Re: Complicated Situation

Post by tuska »

mehdi1369
Posts: 2
Joined: Mon Dec 31, 2018 3:53 pm

Re: Complicated Situation

Post by mehdi1369 »

I just relized this note:

" The file names in the text file must be complete file names. No partial matching is done."

why :(

we could fix that with any other way ?
tuska
Posts: 1099
Joined: Thu Jul 13, 2017 9:14 am

Re: Complicated Situation

Post by tuska »

That's exactly the problem.
At the moment I do not know any solution but I am sure that you will get an answer to your question.
void
Developer
Posts: 17159
Joined: Fri Oct 16, 2009 11:31 pm

Re: Complicated Situation

Post by void »

To search for an ORed list of searches:
  • In Everything, type in the following search and press ENTER:
    /paste_new_line_op=1
  • Copy your list of titles. (one search per line)
  • Paste your titles into the Everything search edit.
Notes:
Many OR searches can be slow.
The last new line may create an empty OR search, essentially finding all files. Please remove this last new line.

To reset to the default of ANDing new lines:
  • In Everything, type in the following search and press ENTER:
    /paste_new_line_op=0
NotNull
Posts: 5517
Joined: Wed May 24, 2017 9:22 pm

Re: Complicated Situation

Post by NotNull »

void wrote: Mon Dec 31, 2018 11:05 pm /paste_new_line_op=1
Cool one!

As I didn't read this thread to the end and started thinking about a solution rightaway, another workaround:
In Notepad++, replace
\r\n
with
"|"
(after setting Search mode to extended) and clean up "head" and "tail" of the result.
The resulting string can be pasted in the Everything search bar.

(Note to self: read entire thread first!)
void
Developer
Posts: 17159
Joined: Fri Oct 16, 2009 11:31 pm

Re: Complicated Situation

Post by void »

I'm looking for ways to make pasting searches with ORed new lines easier..

Currently I have:
  • A menu item under Edit -> Advanced -> Paste with ORed new lines -Although the Edit menu is for results.
  • Appending "Paste with ORed new lines" to the search edit context menu only when the clipboard contents contain a new line.
  • Adding a keyboard command so a keyboard shortcut can be assigned.
  • Always using ORs when two or more new lines exist -From my experience AND only needs to be used for a single new line where we copy some words that may have word wrapped.
NotNull
Posts: 5517
Joined: Wed May 24, 2017 9:22 pm

Re: Complicated Situation

Post by NotNull »

void wrote: Fri Jan 04, 2019 1:33 am I'm looking for ways to make pasting searches with ORed new lines easier..
A couple of (semi-random) thoughts on that:
  • Menu:File > Import > Import search criteria from file
  • Menu:Tools > Import search criteria from file
  • Function criteriafile: (I don't think this is a good idea; just for inspiration..)
Semi related:
  • Why is the input file expanded with filelist:"1|2|3"? It would be more universal if it was expanded to "1"|"2"|"3"
    (without the filelist: and each single line in "").
    If needed, one can add a wfn: to find exact filenames.
  • With Menu:Search > Match Path enabled, wfn: will only find files if the fully qualified filename is specified
    (like: wfn:C:\windows\notepad.exe).
    With Menu:Search > Match path disabled, one can specify path: wfn:notepad.exe
    void
    Developer
    Posts: 17159
    Joined: Fri Oct 16, 2009 11:31 pm

    Re: Complicated Situation

    Post by void »

    Menu:File > Import > Import search criteria from file
    Menu:Tools > Import search criteria from file
    This could also go under the Search menu. -Added to my TODO list.
    A "Paste clipboard with ORed new lines " menu item could also go under the Search menu.

    I've changed the Advanced Search - Search for a list of filenames tooltip to include "Click the Browse button to open a list of filenames".
    Function criteriafile: (I don't think this is a good idea; just for inspiration..)
    I've always wanted a include: search function.
    I may add it in a future release. However, it would have to be disabled by default for security reasons.
    Why is the input file expanded with filelist:"1|2|3"? It would be more universal if it was expanded to "1"|"2"|"3"
    (without the filelist: and each single line in "").
    It is a bit odd, I had changed it to a more standard list for the next major version of Everything:
    filelist:1.txt;2.jpg;3.mp4;"filename-with-semi-colon(;).txt"
    You would use double quotes to escape semi-colons.
    | will still work too, although the advanced search will populate the search with ;

    The filelist: function started of as a OR-list of searches and kept the | separator.
    If needed, one can add a wfn: to find exact filenames.
    There's a performance reason for matching whole file names, Everything can create a simple binary tree lookup table to see if the whole file name matches the search. filelist: is designed to compare millions of files against millions of files.

    I'm considering adding a nowfn: modifier to filelist: search function to override the default whole file name search.
    Although this would be slower, it would be much faster than a huge OR list.
    I may even add a new search function: orlist:, eg:
    orlist:abc;123;tails;"an escaped semicolon ;"
    With Menu:Search > Match Path enabled, wfn: will only find files if the fully qualified filename is specified
    (like: wfn:C:\windows\notepad.exe).
    Including a backslash in the filelist: filename will also match against the full path and filename.
    For example:
    filelist:C:\windows\notepad.exe -will match the full path and filename.
    filelist:notepad.exe -will only match the full filename, the path can be anything. (If Match Path is disabled)
    NotNull
    Posts: 5517
    Joined: Wed May 24, 2017 9:22 pm

    Re: Complicated Situation

    Post by NotNull »

    void wrote: Sat Jan 05, 2019 2:56 am [...] binary tree lookup table [...]
    Ah, that explains the difference (after some research on the Internet :)) Thanks for explaining!
    Including a backslash in the filelist: filename will also match against the full path and filename.
    For example:
    filelist:C:\windows\notepad.exe -will match the full path and filename.
    filelist:notepad.exe -will only match the full filename, the path can be anything. (If Match Path is disabled)
    Point I was trying to make is that 2 almost identical scenario's gave different results:
    1. path: wfn:
    2. wfn:
      , combined with Match Path
    Those were without using filelist: . Sorry for confusion ...
    tuska
    Posts: 1099
    Joined: Thu Jul 13, 2017 9:14 am

    Re: Complicated Situation

    Post by tuska »

    Hello,

    I would like to limit the search to the drive D: (setting: /paste_new_line_op=1) in the search box of 'Everything'
    and exclude drives I:, J: from the search.

    I can turn on a filter in 'Everything' to achieve the goal,
    but I want to limit the search in the search box.

    Example:

    Code: Select all

    <Symbol.DOC>|<CircleSymbol.doc>|<SpecialSymbol.doc>
    Result: 36 objects for drives D:, I:, J:

    Code: Select all

    !<I:|J:> <Symbol.DOC>|<CircleSymbol.doc>|<SpecialSymbol.doc>
    ...unfortunately does not work in the search box.

    So ask for your support.

    Regards,
    Karl
    ________________________________________________
    Windows 10 Pro (x64) Version 20H2 (OS build 19042.844)
    'Everything'-Version 1.4.1.1007 (x64)
    Portable on Systemdrive C: in C:\Tools\Everything
    void
    Developer
    Posts: 17159
    Joined: Fri Oct 16, 2009 11:31 pm

    Re: Complicated Situation

    Post by void »

    What is your Operator precedence set to under Tools -> Options -> Search -> Operator Precedence?

    This will define how A B | C D is parsed, either as:
    A (B | C) D
    or
    (A B) | (C D)

    If set to AND > OR, !<I:|J:> <Symbol.DOC>|<CircleSymbol.doc>|<SpecialSymbol.doc> will search for:
    (((NOT (I: OR J:)) AND Symbol.DOC) OR CircleSymbol.doc) OR SpecialSymbol.doc

    Use grouping to override operator precedence:

    !<I:|J:> <<Symbol.DOC>|<CircleSymbol.doc>|<SpecialSymbol.doc>>
    tuska
    Posts: 1099
    Joined: Thu Jul 13, 2017 9:14 am

    Re: Complicated Situation

    Post by tuska »

    Many thanks for the prompt support and your detailed explanations!
    I have "
    AND > OR
    " set
    and
    !<I:|J:> <<Symbol.DOC>|<CircleSymbol.doc>|<SpecialSymbol.doc>>

    works! :)
    void
    Developer
    Posts: 17159
    Joined: Fri Oct 16, 2009 11:31 pm

    Re: Complicated Situation

    Post by void »

    OR > AND is the default operator precedence.

    !<I:|J:> <Symbol.DOC>|<CircleSymbol.doc>|<SpecialSymbol.doc>

    Would work as you expected with OR > AND. The OR operation will be done first.
    tuska
    Posts: 1099
    Joined: Thu Jul 13, 2017 9:14 am

    Re: Complicated Situation

    Post by tuska »

    Yes, perfect!
    Thank you very much! :)
    Post Reply