[TC 11.50b2] Find: Searching for dir1\**\dir2\*.dll does not work right

Bug reports will be moved here when the described bug has been fixed

Moderators: Hacker, petermad, Stefan2, white

Post Reply
User avatar
white
Power Member
Power Member
Posts: 5743
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

[TC 11.50b2] Find: Searching for dir1\**\dir2\*.dll does not work right

Post by *white »

Decode and unzip this test folder.

Code: Select all

MIME-Version: 1.0
Content-Type: application/octet-stream; name="Testdir.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Testdir.zip"

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
bGxQSwECFAAUAAIACABgoFBZAAAAAAIAAAAAAAAAHAAAAAAAAAAAACAAAAANAgAAVGVzdGRpci9k
aXIxL0EvQi9kaXIyLzA2LmRsbFBLAQIUABQAAgAIAGCgUFkAAAAAAgAAAAAAAAAcAAAAAAAAAAAA
IAAAAEkCAABUZXN0ZGlyL2RpcjEvQS9CL2RpcjIvMDcuZGxsUEsBAhQAFAACAAgAYKBQWQAAAAAC
AAAAAAAAABwAAAAAAAAAAAAgAAAAhQIAAFRlc3RkaXIvZGlyMS9BL0IvZGlyMi8wOC5kbGxQSwEC
FAAUAAIACABhoFBZAAAAAAIAAAAAAAAAHAAAAAAAAAAAACAAAADBAgAAVGVzdGRpci9kaXIxL0Ev
Qi9kaXIyLzA5LmRsbFBLAQIUABQAAgAIAGGgUFkAAAAAAgAAAAAAAAAcAAAAAAAAAAAAIAAAAP0C
AABUZXN0ZGlyL2RpcjEvQS9CL2RpcjIvMTAuZGxsUEsBAhQAFAACAAAA0qBQWQAAAAAAAAAAAAAA
ABQAAAAAAAAAAAAQAAAAOQMAAFRlc3RkaXIvZGlyMS9BL2RpcjIvUEsBAhQAFAACAAgAYKBQWQAA
AAACAAAAAAAAABoAAAAAAAAAAAAgAAAAawMAAFRlc3RkaXIvZGlyMS9BL2RpcjIvMDEuZGxsUEsB
AhQAFAACAAgAYKBQWQAAAAACAAAAAAAAABoAAAAAAAAAAAAgAAAApQMAAFRlc3RkaXIvZGlyMS9B
L2RpcjIvMDIuZGxsUEsBAhQAFAACAAgAYKBQWQAAAAACAAAAAAAAABoAAAAAAAAAAAAgAAAA3wMA
AFRlc3RkaXIvZGlyMS9BL2RpcjIvMDMuZGxsUEsBAhQAFAACAAgAYKBQWQAAAAACAAAAAAAAABoA
AAAAAAAAAAAgAAAAGQ  QAAFRlc3RkaXIvZGlyMS9BL2RpcjIvMDQuZGxsUEsBAhQAFAACAAgAYKBQ
WQAAAAACAAAAAAAAABoAAAAAAAAAAAAgAAAAUwQAAFRlc3RkaXIvZGlyMS9BL2RpcjIvMDUuZGxs
UEsBAhQAFAACAAgAYKBQWQAAAAACAAAAAAAAABoAAAAAAAAAAAAgAAAAjQ  QAAFRlc3RkaXIvZGly
MS9BL2RpcjIvMDYuZGxsUEsBAhQAFAACAAgAYKBQWQAAAAACAAAAAAAAABoAAAAAAAAAAAAgAAAA
xwQAAFRlc3RkaXIvZGlyMS9BL2RpcjIvMDcuZGxsUEsBAhQAFAACAAgAYKBQWQAAAAACAAAAAAAA
ABoAAAAAAAAAAAAgAAAAAQUAAFRlc3RkaXIvZGlyMS9BL2RpcjIvMDguZGxsUEsBAhQAFAACAAgA
YaBQWQAAAAACAAAAAAAAABoAAAAAAAAAAAAgAAAAOwUAAFRlc3RkaXIvZGlyMS9BL2RpcjIvMDku
ZGxsUEsBAhQAFAACAAgAYaBQWQAAAAACAAAAAAAAABoAAAAAAAAAAAAgAAAAdQUAAFRlc3RkaXIv
ZGlyMS9BL2RpcjIvMTAuZGxsUEsBAhQAFAACAAAAYaBQWQAAAAAAAAAAAAAAABIAAAAAAAAAAAAQ
AAAArwUAAFRlc3RkaXIvZGlyMS9kaXIyL1BLAQIUABQAAgAIAGCgUFkAAAAAAgAAAAAAAAAYAAAA
AAAAAAAAIAAAAN8FAABUZXN0ZGlyL2RpcjEvZGlyMi8wMS5kbGxQSwECFAAUAAIACABgoFBZAAAA
AAIAAAAAAAAAGAAAAAAAAAAAACAAAAAXBgAAVGVzdGRpci9kaXIxL2RpcjIvMDIuZGxsUEsBAhQA
FAACAAgAYKBQWQAAAAACAAAAAAAAABgAAAAAAAAAAAAgAAAATwYAAFRlc3RkaXIvZGlyMS9kaXIy
LzAzLmRsbFBLAQIUABQAAgAIAGCgUFkAAAAAAgAAAAAAAAAYAAAAAAAAAAAAIAAAAIcGAABUZXN0
ZGlyL2RpcjEvZGlyMi8wNC5kbGxQSwECFAAUAAIACABgoFBZAAAAAAIAAAAAAAAAGAAAAAAAAAAA
ACAAAAC/BgAAVGVzdGRpci9kaXIxL2RpcjIvMDUuZGxsUEsBAhQAFAACAAgAYKBQWQAAAAACAAAA
AAAAABgAAAAAAAAAAAAgAAAA9wYAAFRlc3RkaXIvZGlyMS9kaXIyLzA2LmRsbFBLAQIUABQAAgAI
AGCgUFkAAAAAAgAAAAAAAAAYAAAAAAAAAAAAIAAAAC8HAABUZXN0ZGlyL2RpcjEvZGlyMi8wNy5k
bGxQSwECFAAUAAIACABgoFBZAAAAAAIAAAAAAAAAGAAAAAAAAAAAACAAAABnBwAAVGVzdGRpci9k
aXIxL2RpcjIvMDguZGxsUEsBAhQAFAACAAgAYaBQWQAAAAACAAAAAAAAABgAAAAAAAAAAAAgAAAA
nwcAAFRlc3RkaXIvZGlyMS9kaXIyLzA5LmRsbFBLAQIUABQAAgAIAGGgUFkAAAAAAgAAAAAAAAAY
AAAAAAAAAAAAIAAAANcHAABUZXN0ZGlyL2RpcjEvZGlyMi8xMC5kbGxQSwUGAAAAACUAJQAjCgAA
DwgAAAAA
The folder contains 30 files and 6 folders:

Code: Select all

Testdir\dir1\
Testdir\dir1\A\
Testdir\dir1\A\B\
Testdir\dir1\A\B\dir2\
Testdir\dir1\A\dir2\
Testdir\dir1\dir2\
Testdir\dir1\A\B\dir2\01.dll
Testdir\dir1\A\B\dir2\02.dll
Testdir\dir1\A\B\dir2\03.dll
Testdir\dir1\A\B\dir2\04.dll
Testdir\dir1\A\B\dir2\05.dll
Testdir\dir1\A\B\dir2\06.dll
Testdir\dir1\A\B\dir2\07.dll
Testdir\dir1\A\B\dir2\08.dll
Testdir\dir1\A\B\dir2\09.dll
Testdir\dir1\A\B\dir2\10.dll
Testdir\dir1\A\dir2\01.dll
Testdir\dir1\A\dir2\02.dll
Testdir\dir1\A\dir2\03.dll
Testdir\dir1\A\dir2\04.dll
Testdir\dir1\A\dir2\05.dll
Testdir\dir1\A\dir2\06.dll
Testdir\dir1\A\dir2\07.dll
Testdir\dir1\A\dir2\08.dll
Testdir\dir1\A\dir2\09.dll
Testdir\dir1\A\dir2\10.dll
Testdir\dir1\dir2\01.dll
Testdir\dir1\dir2\02.dll
Testdir\dir1\dir2\03.dll
Testdir\dir1\dir2\04.dll
Testdir\dir1\dir2\05.dll
Testdir\dir1\dir2\06.dll
Testdir\dir1\dir2\07.dll
Testdir\dir1\dir2\08.dll
Testdir\dir1\dir2\09.dll
Testdir\dir1\dir2\10.dll
Enter the folder Testdir and do the following search:

Code: Select all

\dir1\**\dir2\*.dll
All 30 files are found. \**\ seems to mean 0 or more subfolders.

Now remove the backslash at the beginning:

Code: Select all

dir1\**\dir2\*.dll
Only 20 files are found. \**\ seems to mean 1 or more subfolders.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50386
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: [TC 11.50b2] Find: Searching for dir1\**\dir2\*.dll does not work right

Post by *ghisler(Author) »

That's odd, ** should mean 1 or more subfolders in all cases.
Author of Total Commander
https://www.ghisler.com
User avatar
white
Power Member
Power Member
Posts: 5743
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: [TC 11.50b2] Find: Searching for dir1\**\dir2\*.dll does not work right

Post by *white »

ghisler(Author) wrote: 2024-10-17, 08:00 UTC That's odd, ** should mean 1 or more subfolders in all cases.
That's odd, earlier in HISTORY.TXT you said it means 0 or more subfolders:
HISTORY.TXT wrote: 29.01.17 Added: New wildcards for relative dirs now support wildcard **, which stands for any number of subdirs, e.g. subdir\**\*.txt finds text files where the relative path contains "subdir" anywhere in the path (32/64)
If it were to mean 1 or more subfolders, it is not useful and does not make sense. To find .txt files anywhere in a folders named "subdir", you would have to use: subdir\**\*.txt subdir\*.txt
See also this post.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50386
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: [TC 11.50b2] Find: Searching for dir1\**\dir2\*.dll does not work right

Post by *ghisler(Author) »

Hmm, any number of subdirs depends on whether "number" is a natural number (1,2,3,4..) or would include zero.
Author of Total Commander
https://www.ghisler.com
User avatar
white
Power Member
Power Member
Posts: 5743
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: [TC 11.50b2] Find: Searching for dir1\**\dir2\*.dll does not work right

Post by *white »

ghisler(Author) wrote: 2024-10-17, 13:32 UTC Hmm, any number of subdirs depends on whether "number" is a natural number (1,2,3,4..) or would include zero.
I don't think the literal meaning of words is relevant, but it is clear by the rest of the sentence isn't it? Rest of the text:
..finds text files where the relative path contains "subdir" anywhere in the path
One or more subfolders is far less useful and it doesn't work like that, does it? It means zero or more when marking files in branch view for 7 years (since TC 9.10) and in search for 1 year (since TC 11).
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50386
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: [TC 11.50b2] Find: Searching for dir1\**\dir2\*.dll does not work right

Post by *ghisler(Author) »

I will change it to mean 0 or more folders.
Author of Total Commander
https://www.ghisler.com
User avatar
white
Power Member
Power Member
Posts: 5743
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: [TC 11.50b2] Find: Searching for dir1\**\dir2\*.dll does not work right

Post by *white »

HISTORY.TXT wrote: 17.10.24 Fixed: Find files: \**\ in the middle of a search string was sometimes treated as 0 or more directories, sometimes as 1 or more. Now it's always 0 or more (32/64)
Testing OK using TC 11.50b3 32-bit and 64-bit.

Moderator message from: white » 2024-10-23, 22:24 UTC

Moved topic
» from TC11.x bug reports (English) to TC Fixed bugs
Post Reply