6

On Windows 7: as I remember, the search results included anything that contained your search term.

On Windows 10: it seems, the search results only include items that start with your search term.

Here's an example, trying to open the WinDirStat program:

When I enter dirst I would expect it to find windirstat because the .exe contains that search string. But there are no results. start menu search showing zero results

On the other hand, if I enter wind, it immediately finds what I'm looking for, presumably because WinDirStat starts with WinD. start menu search showing what I was looking for

The problem is, I don't always rarely actually remember the full name of what I'm looking for. For example, if I'm looking for Win32DiskImager, I'm not gonna remember it starts with Win32. Instead, I'd type image, in search of "that program I used a year ago to write a disk image to a disk".

Is there a simple fix or workaround for this? All I've found so far are 3rd party programs that change more than just this search behavior (ie ClassicShell). I don't want to change everything, just this search behavior.

2

In Windows 10, v. 1909. there are apparently different search behaviors:

  • Using Search from the Desktop, wildcards (* and ?) are ignored, as you've documented. Searches for dirstat, *dirstat and *dirstat* fail. [Others, such as respondent harrymc, have found wild cards do work, but not on the questioner's PC, nor on mine, with Windows 10 v. 1909, OS Build 18363.815.]

Desktop Search ignoring wild card, *

  • Using Windows Explorer Search, there is no "automatic wild-card" at the beginning, so Search on dirstat fails:

Explorer Search without wild-card

  • Using Windows Explorer Search, by adding the wild-card * at the beginning, Search on dirstat succeeds:

Explorer Search using * wild-card

  • Finally, as you state, using Classic Shell, or its successor, Open-Shell-Menu, Desktop Search behaves as if it were using the Cortana index and as if the search term were preceded and followed by wild-cards, instantly returning a result:

Desktop Search using Classic Shell

You have at least two choices, then:

  1. Use Windows Explorer to search, and precede the term with an asterisk.
  2. Use an add-on, such as Classic Shell, which provides the old functionality (though I do understand you do not want to try that).
1

As you have already found out, Search from the taskbar in Windows 10 is not very efficient, and wildcards don't work.

if you are only interested in finding a file quickly (but not their contents) irrespective of whether you type a portion of the file name, then you can install this small utility: Everything.

What is "Everything"?

"Everything" is search engine that locates files and folders by filename instantly for Windows.

Unlike Windows search "Everything" initially displays every file and folder on your computer (hence the name "Everything").

You type in a search filter to limit what files and folders are displayed.

1

There is a simple fix or workaround for this: Use wildcards. Instead of searching for "string", search for "*string" (at least).

This problem dates to Windows Vista, when Microsoft changed its search from character-based to word-based, as documented in the blog Character based versus word based search, or Searching with wildcards on Windows Vista:

On Windows XP search is character based. That is, if you search for a string 'test', it will find files named 'my test data.doc', 'additional testing.xls' as well as 'latest junk.txt' or (if you tell it to search also contents of files) files containing words such as 'test', 'tester' and 'fattest'.

On Windows Vista, and on Windows XP with WDS installed, search is normally word based. Searching for the string 'test' will only find documents with the word 'test' in them, or words beginning with 'test'. So it will find the files named 'my test data.doc' and 'additional testing.xls' but it will not find 'latest junk.txt'. Moreover, it will find documents containing 'test' or 'tester' but it will not find documents containing 'fattest'.

The main reason for the change is that by making search word based one can use an index to make searches much faster.

10
  • 1
    As a remark, ClassicShell is discontinued, use instead Open-Shell. – harrymc Apr 30 '20 at 18:51
  • 2
    in my test of Windows 10, v. 1909, Desktop Search, wild cards ( or ?) no longer work*. They do work using Search in Windows Explorer. – DrMoishe Pippik Apr 30 '20 at 19:25
  • @DrMoishePippik: Same version, and it works for me in the Start menu. – harrymc Apr 30 '20 at 19:34
  • using Windows 10 v. 1909, OS Build 18363.815. So it seems that some versions perform search correctly, others don't. But MS doesn't need QC, because it adds no value to the product. sigh – DrMoishe Pippik Apr 30 '20 at 21:41
  • 1
    @harrymc Version 2004 here. For me wildcards don't work either. Wildcards are simply ignored, i.e. searching for timerecording OR *timerecording* will find workplace_timerecording.xs and workplace timerecording.xls but not workplacetimerecording.xls or workplace-timerecording.xls. Maybe the convention you used just happens to make the wildcards being ignored irrelevant? The current rule seems to be "match words beginning with the query" (searching form timerec would give me the same results), with "words" being defined by specific separator constructs. – kdb Mar 25 at 11:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.