I just opened a command prompt and did a:

DIR *759*

To my surprised, it did not return files containing 759 in the name.

Here are the results:

56CheckRegister_0710.RTF
c5e64017_2007-09-30.pgp
C5X87050_200601.PRT
c5e64017_2008-09-30.pgp
K6CheckRegister_0110.RTF
K6CheckRegister_0910.RTF
K7CheckRegister_1108.RTF
K7CheckSummary_1299.RTF

Should this DIR work?
I could have sworn it worked before but I have not done this since upgrading to Windows 7.
Is this a Windows 7 issue?

Edited: Dwidle was correct. It is picking up the DOS 8.3 Name. Using the DIR /x returned the short name in the first column.

561759~1.RTF 56CheckRegister_0710.RTF  
C52759~1.PGP c5e64017_2007-09-30.pgp  
C54759~1.PRT C5X87050_200601.PRT  
C5A759~1.PGP c5e64017_2008-09-30.pgp  
             c5p75922.prt  
             c5p75978.prt  
K63759~1.RTF K6CheckRegister_0110.RTF  
K64759~1.RTF K6CheckRegister_0910.RTF  
K75759~1.RTF K7CheckRegister_1108.RTF  
K7C759~1.RTF K7CheckSummary_1299.RTF`
561759~1.RTF 56CheckRegister_0710.RTF  
有帮助吗?

解决方案

It's finding the short name, the old dos 8.3 name that's generated from the long name. use the /x switch to see the short name as well and I bet they will have 759.

This will get files with 759 in the long name.

dir *759* /b | findstr /M 759

其他提示

I can do that as well

C:\Users\ALAIN>doskey dir=dir

C:\Users\ALAIN>dir *759*
 Le volume dans le lecteur C s'appelle Acer
 Le numéro de série du volume est 12D1-55F6

 Répertoire de C:\Users\ALAIN

22/02/2011  22:25    <REP>          .
22/02/2011  22:25    <REP>          ..
22/02/2011  22:24               877 56CheckRegister_0710.RTF
22/02/2011  22:24               938 c5e64017_2007-09-30.pgp
22/02/2011  22:24             1 056 c5e64017_2008-09-30.pgp
22/02/2011  22:24               995 C5X87050_200601.PRT
22/02/2011  22:25             1 118 K6CheckRegister_0110.RTF
22/02/2011  22:25             1 180 K6CheckRegister_0910.RTF
22/02/2011  22:25             1 242 K7CheckRegister_1108.RTF

               7 fichier(s)            7 406 octets
              13 Rép(s)  79 641 792 512 octets libres

C:\Users\ALAIN>doskey dir=

C:\Users\ALAIN>dir *759*
 Le volume dans le lecteur C s'appelle Acer
 Le numéro de série du volume est 12D1-55F6

 Répertoire de C:\Users\ALAIN

Fichier introuvable

C:\Users\ALAIN>

Please also look at other less pleasant possible explanations

  1. A "pirate alias" (can be defined in HKLM\SOFTWARE\Microsoft\CurrentVersion\App Paths

  2. A rootkit (see sysinternals rootkit detector)

This is Windows NT working as designed, and as it has worked for a long time. This behaviour is widely known. There are no rootkits or "pirate aliases" involved.

As I wrote over on SuperUser, where another answer talks about changing system settings to stop this from happening further than it already does, this varies according to what command interpreter's DIR command one uses. The DIR command in Take Command, for example, only matches long names by default and so doesn't exhibit this behaviour. (Matching of short as well as long names can be turned on for compatibility with CMD's DIR command.) So there are ways to address this that don't require FSUTIL and administrator privileges.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top