2

我刚刚打开一个命令提示符并做了一个:

DIR *759*

令我惊讶的是,它没有返回名称中包含 759 的文件。

结果如下:

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.

这个 DIR 应该工作吗?
我本可以发誓它以前可以工作,但自从升级到 Windows 7 后我就没有这样做过。
这是 Windows 7 的问题吗?

编辑: Dwidle 是正确的。它正在使用 DOS 8.3 名称。使用 DIR /x 返回第一列中的短名称。

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  
4

3 回答 3

2

它正在查找短名称,即从长名称生成的旧 dos 8.3 名称。使用 /x 开关也可以查看短名称,我敢打赌他们会有 759。

这将获得长名称中包含 759 的文件。

dir *759* /b | findstr /M 759
于 2011-02-22T21:17:20.970 回答
1

我也可以

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>

还请查看其他不太令人愉快的可能解释

  1. 一个“海盗别名”(可以定义在HKLM\SOFTWARE\Microsoft\CurrentVersion\App Paths

  2. 一个 rootkit(参见 sysinternals rootkit 检测器)

于 2011-02-22T21:39:27.983 回答
0

这是按设计工作的 Windows NT ,并且已经工作了很长时间。这种行为是众所周知的。不涉及 rootkit 或“盗版别名”。

正如我在 SuperUser 上所写的那样另一个答案谈到更改系统设置以阻止这种情况发生得比现在更进一步,这取决于命令解释器DIR使用的命令。例如,DIRTake Command 中的命令默认情况下只匹配长名称,因此不会表现出这种行为。(可以打开短名称和长名称的匹配以与 CMD 的DIR命令兼容。)所以有一些方法可以解决这个问题,不需要FSUTIL管理员权限。

于 2011-05-17T15:33:24.893 回答