While reorganizing my MP3 collection, a large number of files were incorrectly renamed. Instead of having an extension of mp3, such as “SomeSong.mp3″, they’re now “SomesongMp3.mp3.” I decided to correct the problem. First, I needed a list of all files with the phrase “mp3″ before the extension in the filename. I fired up search and looked for: “*mp3.*”
That should result in a list of all files with the phrase “mp3″ in the filename before the extension to be displayed. However, in Windows 7 it now means “Show me everything with the phrase ‘mp3′ anywhere in the filename.” Also, the asterisk and question mark now mean the same thing – this is most likely a side effect of the new, crappy implementation.
The asterisk should mean “any number of characters”, and the question mark should mean “a single character”. For example, “*.mp3″ should show list all files with an mp3 extension. And “?.mp3″ should only show all mp3 files that have a filename that is 1 character in length and an extension of “mp3″. It has always worked this way, and it should stay this way. Otherwise it is too hard to limit the search results to a more specific range.
I thought that it might be a UI option for ease of use, so I dropped to the command line. The result was the same. I’m not sure why Microsoft in blissful idiocracy has changed the way the wildcards work when searching in Windows 7, but it is a massive inconvenience, especially if you’re working with files in the command line.
You can still do it from the command prompt, but now you have to do something along the lines of this – which still isn’t a perfect cure:
for %a in (*.*) do @echo %~na
Popularity: 21% [?]