Windows 7 search for file with a special character in the file name?
Use following syntax: ~="("
.
~=
is an escape character and then you can put a special character like (
, &
, ?
etc. in double quotes.
Let's Help!
For any Windows Search issues my recommendation is two things:
- Read the AQS (Advanced Query Syntax) documentation, so you know what all the special characters do.
- Know that Windows Search will convert your query into precise AQS and unless you are specific in your queries, Windows will guess what AQS you actually meant. The results can be surprising!
First, some of basics on AQS
By default, string file properties (Filename, author, etc.) search with COP_WORD_STARTSWITH
$<
, so any word (separated by spaces , - _ () []
and more) that starts with your search term. Other non-string properties (Dates, etc.) search with COP_EQUAL
=
, or exact matches by default (No wild cards, *
and ?
are literal).
Second, if you are searching in any indexed location, then all non-indexed locations in your query will not be shown.
Third, Click on the Address Bar to see what AQS Windows Search actually searched with. You can ignore location crumbs and display-name: It will be percent encoded, so decode on a site like https://www.url-encode-decode.com/
Fourth, undocumented, *
and ?
behave unpredicatbly in AQS unless they are in a ~
COP_DOSWILDCARDS
query (meaning the non-word starts with, and wild cards *
or ?
are interpreted). Windows search will usually convert searches to a ~
query. For example, it seems wild cards **
and ?
with alphanumeric characters search string properties with ~
, but **
without alphanumerics searches nothing. Also single *
in non ~
queries are treated as a wildcard with COP_WORD_STARTSWITH
$<
.
Let's Analyze your queries
-
(
AQSsearch-ms:displayname=Search Results in Users&crumb=&crumb=location:C:\Users
Simplifiedcrumb=
Well, unquoted
(
is a grouping operator for when you useAND
orOR
, you grouped nothing, so Windows thinks you meant group nothing search everything. -
*(*
AQScrumb=
Most windows searches that starts with
*
windows tries to convert to acrumb=~~query_term
(a contains search).*
is treated as normal in a contains query. Anyways, in this case you wild card a group of nothing, so Windows searches for all groups of nothing (or everything!) -
"("
AQScrumb=System.Generic.String:"("
Quotes search for exact phrases (the entire word or property should match) and are literal characters except for
*
,?
and""
become"
. This searches for words that start with(
, but since words are not(
it only searches for properties that are just(
-
*"("*
AQScrumb=Rating:(>=1 <13) OR System.Generic.String:** System.Generic.String:"("*
This one is crazy, but Windows Search tries to convert prefixed*
followed by certain special characters as star ratings. 1-13 is 1 star. Also note from my testing,**
without any alphanumeric characters before or after it searches for nothing instead of a wild card and is unpredictable.This full query means
(1 star rating OR Word that starts with nothing) AND properties that are just
(
.*
won't match any other characters because the whole property has to be(
.Simplified it means, 1 star files called
(
**
in the query actually showed a non-one star(
file for me, but when changing the**
to***
and back to**
it gave the expected no results (**
is unpredictable)
The other answers
-
~="("
AQScrumb=System.Generic.String:~="("
This didn't work, windows seems to not find anything if the amount of searching is too intensive.
filename:~="("
does work. Essentially find a filename that contains just a(
somewhere "*(*"
AQScrumb=filename:~~"*(*" OR System.Generic.String:"*(*"
This worked. Filename contains*(*
with wild cards OR any property word that starts with wild cards and has a(
. Note, both~=
and~~
mean contains.
Got it!
Just had to type this into the search box:
"*(*"
This WORKED PERFECTLY to find 'numbered'/duplicate FILES:
name:~"*(1)*"
alternately, to find numbered / duplicate FOLDERS use:
kind:folder name:~"*(1)*"
~="("
as suggested in another answer didn't work for me in Windows 10
In my case, I needed to find FILE COPIES / "numbered files", i.e. find files with "(1)" appended to the end of the filename, e.g. files that are created when/by:
- you drag / explorer copy files into a folder, where files with the same filenames already exist.
- cloud syncing storage software, such as OneDrive, GoogleDrive, or DropBox encounters syncing issues or conflicts and creates 2 copies of a file, naming one with an appended number "duplicate file", "duplicate file (1)", "duplicate file (2)", etc...