很长一段时间以来,我一直对 cmd.exe 的奇怪行为感到恼火(至少在 WinXP 和 Windows7 中)。命令 likedel *.txt也将删除*.txt1文件('.txt' 之后的任意数量的字符都可以)。这是一个众所周知的错误还是什么?
这是一个偶尔遇到有点知道?
对行为的解释是here,并附有可能的解决方法。
摘要:它来自 NTFS 处理短 (8.3) 文件名的方式,以便与无法处理“新奇”长文件名的旧文件兼容。 dir /x可用于查看短文件名,如下所示:
C:\>dir /x *~*
...
02/25/2011 08:18 AM <DIR> DOCUME~1 Documents and Settings
05/28/2011 12:02 AM <DIR> PROGRA~1 Program Files
...
Run Code Online (Sandbox Code Playgroud)
超过三个字符的扩展名将被简单地截断为短文件名;所以.txt1, .txtxtxtxt,.txt_file等都变成了.txt。
小智 6
扩展名超过 4 个字母的文件(当然其他规则也适用),将获得一个短名称,例如“foo.txt1”具有短名称“foo~1.txt”。DEL(像DIR和可能大多数其他cmd.exe内置命令)也将在短名称上运行。有关相关主题的讨论,请参见此处:http : //blogs.msdn.com/b/oldnewthing/archive/2005/07/20/440918.aspx
| 归档时间: |
|
| 查看次数: |
1166 次 |
| 最近记录: |