Can't search by dollar amounts that are in filename

5

0

I have a bunch of PDF documents in a network folder that follow a similar file name structure:

CompanyName - $160.99.pdf

When I open the folder containing all the documents in Windows 7, I can search by the CompanyName, but not by the dollar amount. The search just simply shows no results when searching by dollar amount. It shows perfect results when I search by company name.

I've tried searching both with and without the dollar ($) sign, but no change. As in the above example, I would get nothing if I searched for 160.99 or $160.99.

I've searched high and low but I've found nothing similar or people with the same problem.

Any idea what would cause this behavior?

Moses

Posted 2013-11-12T16:38:00.997

Reputation: 10 813

In network share environments (Active Directory, I believe) you can use $folder to mark a folder as only visible by typing it's full path into the Explorer path bar. Perhaps this is a similar feature? – Michael Frank – 2013-11-12T20:05:09.097

@MichaelFrank It's not an AD, just a LAN network share. I'm searching a folder within a share for filenames. – Moses – 2013-11-12T20:08:50.480

I understand that. I merely mentioned it as it could be a similar scenario. I did however manage to fail basic reading comprehension and missed the CompanyName - $160.99.pdf part of your question. So it's not due to a leading $ character marking it as unsearchable. – Michael Frank – 2013-11-12T20:37:49.383

@MichaelFrank Ohh I see what you meant now. Sorry I misread your comment as well XD – Moses – 2013-11-12T20:42:12.953

What happens if you search (1) without the point - 199, (2) with asterisks around - *160.99* – harrymc – 2013-12-10T15:38:57.363

@harrymc No dice with #1, but #2 worked! I'm assuming * is a wildcard? Wonder why I need one in order to search those terms. If you add your suggestion as an answer I'll gladly accept it – Moses – 2013-12-10T15:56:58.513

Answers

4

My suggestion to use asterisks around the term, like *160.99*, worked for the poster, and below is my reasoning.

The blog Character based versus word based search, or Searching with wildcards on Windows Vista says :

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.

My reasoning was that because of the point in the file-name, the Windows algorithm for extracting words has failed. The asterisks were added as an attempt to force a search that is more character-based, which did work.

That said, I do counsel against using Windows Search, by reason of its simply being too flaky and just too weird. Disabling it is one of the first changes that I do with a new computer.

Here are two products that are much better at searching file-names :

Everything Search Engine : Uses an index and is lightning-fast.
FileLocator Lite : Does not use an index, so starts faster but searches slower.

I consider the Everything Search Engine as one of my most useful utilities, and set it up to start with Windows so it will always be up to date.

harrymc

Posted 2013-11-12T16:38:00.997

Reputation: 306 093

1

You need to wrap your search in the following way:

~="searchterm"

So, for example, if I search 160.99 or $160.99 I get no results, but if I search ~="160.99" or ~="$160.99" I match the file.

Source

As to why this symbol ($) is special, I presume it is because it is a special character in .NET regular expression matching.

Adam S

Posted 2013-11-12T16:38:00.997

Reputation: 111

This did not work for me, whether I did ~="$160.99" or ~="160.99" – Moses – 2013-11-12T21:08:40.227

This is strange; it works for me both locally and on a network share. http://i.imgur.com/NXPyW9y.png

– Adam S – 2013-11-12T21:15:01.020

One difference I notice in your screenshot is that I'm not doing it in a mapped drive - I'm doing it straight from the hostname (ie. \SERVER) – Moses – 2013-11-12T21:17:39.827

1Mine still works in this case also. Looks like you might have some gremlins! – Adam S – 2013-11-12T21:19:56.900