|
electronixtar
铂金会员
      
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
『楼 主』:
[讨论]8.3文件名
使用 LLM 解释/回答一下
最近看了很多关于 畸形目录 的讨论,感觉收获不小,有想到了几个问题:
1. 8.3格式的和长文件名的格式路径,系统会优先搜索那个?(比如说,电脑里同时存在C:\Program Files 和 C:\progra~1 两个目录)
2. 根据排列组合原理,短文件名最多表示 9 个相同前 8 位的文件名/目录名,那么,实际测试一下,建立20个目录,分别是:
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa (1)
aaaaaaaaaaaaaaaaaaaaa (2)
aaaaaaaaaaaaaaaaaaaaa (3)
.....
aaaaaaaaaaaaaaaaaaaaa (20)
dir /x 显示:
AAAAAA~1
AAAAAA~2
AAB2DC~1
AAB2EC~1
AAB2FC~1
AAB20D~1
AAB21D~1
AAB22D~1
AAB23D~1
AAB24D~1
AAB25D~1
AAB26D~1
AAAAAA~3
AAC2D4~1
AAC2E4~1
AAC2F4~1
AAC205~1
AAC215~1
AAC225~1
AAC235~1
AAC245~1
AAC255~1
AAC265~1
AAAAAA~4
AAC2DC~1
AAC2EC~1
AA4064~1
AA406C~1
AA5064~1
AA506C~1
AA6064~1
这有什么规律呢?
3.建立一个 D:\...\ 的目录,会显示 D:\e2e2~1, 这又如何解释呢?
Recently, I have read a lot of discussions about "abnormal directories" and have gained a lot. I have come up with several questions:
1. For the format paths of 8.3 format and long filenames, which one will the system search preferentially? (For example, there are both C:\Program Files and C:\progra~1 directories in the computer)
2. According to the principle of permutation and combination, the short filename can represent at most 9 filenames/directory names with the same first 8 characters. Then, actually test it. Create 20 directories, namely:
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa (1)
aaaaaaaaaaaaaaaaaaaaa (2)
aaaaaaaaaaaaaaaaaaaaa (3)
.....
aaaaaaaaaaaaaaaaaaaaa (20)
dir /x shows:
AAAAAA~1
AAAAAA~2
AAB2DC~1
AAB2EC~1
AAB2FC~1
AAB20D~1
AAB21D~1
AAB22D~1
AAB23D~1
AAB24D~1
AAB25D~1
AAB26D~1
AAAAAA~3
AAC2D4~1
AAC2E4~1
AAC2F4~1
AAC205~1
AAC215~1
AAC225~1
AAC235~1
AAC245~1
AAC255~1
AAC265~1
AAAAAA~4
AAC2DC~1
AAC2EC~1
AA4064~1
AA406C~1
AA5064~1
AA506C~1
AA6064~1
What is the pattern here?
3. Create a D:\...\ directory, and it will display D:\e2e2~1. How to explain this?
|

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>" |
|
2006-6-13 15:26 |
|
|
Wengier
系统支持
             “新DOS时代”站长
积分 27736
发帖 10521
注册 2002-10-9
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
其实这是NT CMD下极为不合规范的短文件名生成方式,甚至可以看成一种BUG。而在纯DOS和Win9x下则没有这种问题。
关于E2E2~1,其实应解作2E 2E,这是..这两个字符的16进制代码。而由于它和其对应的长文件名不相同,所以加上了~1这个数字尾巴。
In fact, this is an extremely non-standard short filename generation method under NT CMD, and it can even be regarded as a bug. However, there is no such problem under pure DOS and Win9x.
Regarding E2E2~1, it should actually be interpreted as 2E 2E, which are the hexadecimal codes of the two characters "..". And because it is different from its corresponding long filename, the number suffix ~1 is added.
|

Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
 |
|
2006-6-14 01:15 |
|
|
6622186
高级用户
   
积分 894
发帖 411
注册 2007-2-17
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
当文件名包含空格并特别短时, 也会出现这种情况.
This situation can also occur when the file name contains spaces and is particularly short.
|

@set c= 不知则觉多,知则觉少,越知越多,便觉越来越少. --- 知多少.
@for,/l,%%i,in,(1,1,55)do,@call,set/p=%%c:~%%i,1%%<nul&ping/n 1 127.1>nul
|
|
2007-4-25 11:03 |
|
|
yuan53770
初级用户
 
积分 67
发帖 40
注册 2007-11-5
状态 离线
|
|
2010-3-6 23:51 |
|