据我所知,命令dir C:\ kat \ subkat \ 20 *。*应该生成C:\ kat \ subkat \中所有文件的列表,其中20为文件名中的第一个字符。在我的电脑里,我没有得到所有文件。但是,我得到所有文件的最新更改日期从20开始。有没有人看到类似的东西? 当尝试使用此方法进行XCOPY复制时,我收到了大量复制的文件。其中很少是C:\ kat \ subkat \中的文件,其中20是文件名中的第一个字符。发生了什么事?我能做什么? 我在HP Probook6470b上安装了Windows 7。
答案 0 :(得分:0)
Dir命令具有MS-DOS遗留物,其带有CP / M遗留物。 Dir command history
对于名称中包含空格,超过12个字符或扩展名超过3个字符的文件,行为可能会出乎意料。
那是因为生成的8.3短名称 这个Rules for 8.3 short names提供了关于如何生成短名称的线索,但并非详尽无遗。 请参阅下面的示例以获取一些提示
当使用dir搜索的文件夹或计算机支持短名称时,最终结果中将包含短名称尊重掩码的文件。
此外,结果包括短名称包含掩码中包含的字符的文件,即使这些字符也不是长名称的一部分。
一个典型的例子是~1(2,3 ..)后缀 How affect short names the DIR result
通过删除对短名称的支持,可以停止此行为。
实施例。 假设您的文件夹包含
aabb.xl
aa bb.xl
aabb.xls
aa bb.xls
aabb.xlsx
aa bb.xlsx
aabb.xlsxp
aa bb.xlsxp
aabb.xlsxpm
aa bb.xlsxpm
在我的电脑上,这是结果 例1)
DIR a*.* /x
17.09.2015 10:35 0 AABB~1.XL aa bb.xl
17.09.2015 10:35 0 AABB~1.XLS aa bb.xls
17.09.2015 10:35 0 AABB~3.XLS aa bb.xlsx
17.09.2015 10:35 0 AA3C12~1.XLS aa bb.xlsxp
17.09.2015 10:35 0 AA96D4~1.XLS aa bb.xlsxpm
17.09.2015 10:35 0 aabb.xl
17.09.2015 10:35 0 aabb.xls
17.09.2015 10:35 0 AABB~2.XLS aabb.xlsx
17.09.2015 10:35 0 AABB~4.XLS aabb.xlsxp
17.09.2015 10:35 0 AA84DD~1.XLS aabb.xlsxpm
示例2)
DIR "*b*.xls" /x
aabb.xls
aa bb.xls
aabb.xlsx
aa bb.xlsx
aabb.xlsxp
例3)
DIR "*b*.xl?" /x
aabb.xl
aa bb.xl
aabb.xls
aa bb.xls
aabb.xlsx
aa bb.xlsx
aabb.xlsxp
例4)
DIR "*D*.xls" /x
aa bb.xlsxpm aka AA96D4~1.XLS
aabb.xlsxpm aka AA84DD~1.XLS
例5)
DIR "??????.xls" /x
aabb.xls
aa bb.xls aka AABB~1.XLS
aabb.xlsx aka AABB~2.XLS
aa bb.xlsx aka AABB~3.XLS
aabb.xlsxp aka AABB~4.XLS