关于DOS中大于八个字符的文件名的命名规则
"Program Files"在dos中显示为"PROGRA~1"
"My Documents"在dos中显示为"MYDOCU~2"
其中的 ~1 和 ~2 是依据什么给出的??
好像还不能混用,比如有:
C:\My Documents\a.exe
在dos中要写 C:\MYDOCU~2\a 才能运行.
如写 C:\MYDOCU~1\a 会报错.
还有没其它的形式??
请帮忙说明,谢谢!
问题点数:20、回复次数:11Top
1 楼ouyongke(只吃源代码的Mouse)回复于 2003-06-01 13:57:20 得分 8
Windows下还用DOS文件路径?!
~1、~2 是先建立的为~1,后建立的为~2。
后一个问题,我的这里可都是 MYMUSI~1和PROGRA~1,你一定是得装过Windows!Top
2 楼nbshiny(冰点)回复于 2003-06-01 15:43:59 得分 0
我的情况跟上面的兄弟一样,从来没有出现过~2Top
3 楼lltt(清风渐去云已淡)回复于 2003-06-02 09:17:17 得分 0
哎,有一点我没说清 这个问题是作批处理时出现的,而且只有在文件夹的名称中
有一个或多个空格时才会发生这种情况.
98中确实是这样看:
...
AUTOEXEC 001 328 04-24-03 15:45 AUTOEXEC.001
BOOT INI 220 04-14-03 13:19 BOOT.INI
MYMUSI~1 <DIR> 02-22-03 21:35 My Music
TEMP <DIR> 01-28-03 16:50 temp
NVLOG TXT 0 03-08-03 17:36 NVLOG.TXT
EE <DIR> 03-23-03 18:43 ee
CONFIG DOS 0 04-04-03 20:37 CONFIG.DOS
BOOT --- 213 03-24-03 20:19 BOOT.---
BOOT BAK 186 04-04-03 20:28 BOOT.BAK
PROGRA~1 <DIR> 01-20-03 18:17 Program Files
MYDOCU~2 <DIR> 04-04-03 21:54 My Documents
AAAAAA~2 <DIR> 05-29-03 22:53 aaaaaaaaaaaaaaaaaaaa aa aaa
25 file(s) 60,910,335 bytes
13 dir(s) 569,053,184 bytes free
aaaaaaaaaaaaaaaaaaaa aa aaa中有一个a.exe
批处理中这样写:
cd d: 先跳到d盘,必须的.这中有需要的文件
c:\aaaaaa~2\a.exe 这样才不会出错,要是aaaaaa~1就不行
2000中也有类似的毛病,虽然显示的是完整路径但要用这种方式才可执行文件.
我这力用的批处理先到别的目录,用绝对路径来执行文件.
Top
4 楼lltt(清风渐去云已淡)回复于 2003-06-02 16:47:54 得分 0
Win2000中的情形
...
2003-04-04 21:54 <DIR> My Documents
2003-05-29 22:53 <DIR> aaaaaaaaaaaaaaaaaaaa aa aaa
xx 个文件 xxx,xxx,xxx 字节
xx 个目录 xxx,xxx,xxx 可用字节
C:\>cd aaaaaa~1
系统找不到指定的路径。
C:\>cd aaaaaa~2
C:\AAAAAA~2>cd..
C:\>cd mydocu~1
系统找不到指定的路径。
C:\>cd mydocu~2
C:\MYDOCU~2>
C:\MYDOCU~2>cd..
C:\>cd Windows
C:\Windows>Top
5 楼x_2k(谁会记得我)回复于 2003-06-02 17:32:44 得分 0
你曾經建過以mydocu為頭的目錄吧?
說得沒錯,~1、~2 是先建立的为~1,后建立的为~2。
windows都指定目錄名了,當然不能混用!
你看看dir/a有沒有以MYDOCU打頭的目錄?Top
6 楼lluunn007(书生)回复于 2003-06-02 17:46:50 得分 12
你可能装过双系统,所以会有~2的系统文件夹命名。Top
7 楼net205(人不可以无耻到这种地步)回复于 2003-06-02 18:08:23 得分 0
up楼上的
再就是批处理中运行程序必须要以dos格式的路经,不能超过8个字符Top
8 楼teatool(美貌与智慧并重,英雄与侠义的化身)回复于 2003-06-02 18:58:57 得分 0
因为已经有一个叫1的了,也就是说,有前6个字母相同的文件夹Top
9 楼Acquarius(二当家)回复于 2003-06-02 19:46:29 得分 0
先取前6个字母,然后是~1,~2...Top
10 楼Acquarius(二当家)回复于 2003-06-02 19:47:15 得分 0
BTW, 在Windows注册表中可以用一个选择不用这种方式将长文件名转换成8.3格式,但是具体是哪个键我忘记了。Top
11 楼lltt(清风渐去云已淡)回复于 2003-06-03 10:46:46 得分 0
重复的名子没有,不过是双系统,但是装在两个盘符中,应该不会有影响把,编程时如何解决呢??
我是用BCB根据情况写批处理.Top




